RailsアプリケーションでDevise gemをユーザー認証に使用しています。私はsign_out
ヘルパーメソッドがSafariでデスクトップとモバイルの両方で動作していないことが判明しました。Chromeなどでうまく動作します。Rails/Devise - Safariでsign_outが機能しない
特定のコントローラにヒットしたときにサインインしたユーザーを強制的にログアウトさせようとしていますアクション:
def new
if user_signed_in?
sign_out
end
end
しかし、これは効果がありません。
<% if user_signed_in? %>
<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>
<% end %>
ではなく、コントローラからsign_out
を呼び出すなどのビューで、[OK] user_signed_in?
とdestroy_user_session_path
機能の仕事は、無行くではありません。
誰かがこのような種類のブラウザ間の問題をDeviseで経験したことがありますか?これを修正したり、同じ機能を実現できる方法はありますか?
これは、生産に使用すべきではないので、有効な解決策そうではありません。 –
私の解決策を更新しました:) –
@BorisBresciani申し訳ありませんが、これは動作していないようです... 'if user signed_in?'ブロックは、別のコントローラでうまく動作します...なぜそれがちょうどこの1つのインスタンス? – skwidbreth