どこにも見つからないようです... Railsでユーザーのセッションを削除/破棄/リセット/空/クリアするにはどうすればよいですか? 1つの値だけでなく、すべての値..
すべてをクリアするには、コントローラーでreset_sessionメソッドを使用します。
reset_session
このメソッドのドキュメントは次のとおりです。 http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
内部に格納されているすべてのオブジェクトをクリアし、新しいセッションオブジェクトを初期化することにより、セッションをリセットします。
幸運を!
Railsのセッションはハッシュオブジェクトです。したがって、ハッシュをクリアするために使用可能な関数はすべてセッションで機能します。
session.clear
または特定のキーを破棄する必要がある場合:
session.delete(key)
Rails 3.2でテスト済み
added
session={}
に言及されている人々は悪い考えです。 session.clear
に関して、Lobatiはコメントします。おそらく、session.clearが行うこと以外にいくつかのクリーンアップを行うため、[session.clear]よりもreset_sessionを使用したほうがよいようです。内部的には、 reset_sessionはsession.destroyを呼び出します 、 それ自体がclearと同様に他のものを呼び出します
ユーザーのセッションを削除するには
session.delete(:user_id)
特定のパラメータのみをクリアするには、次を使用できます。
[:param1, :param2, :param3].each { |k| session.delete(k) }
このコードをApplicationControllerに追加します
def reset_session
@_request.reset_session
end
(なぜこのコードが私の問題を解決したのにこのコードに言及していないのかわからない) http://apidock.com/Rails/ActionController/RackDelegation/reset_session