質問

私はどこでもそれを見つけるように見えることはできません...私は削除する方法/ /リセット/空を破壊/ Railsの中に、ユーザーのセッションをクリアしますか? 1つの値ではなく、全体のことだけではありません..

役に立ちましたか?

解決

コントローラでRESET_SESSIONメソッドを使用して全体をクリアするには。

reset_session

ここでは、この方法でのドキュメントがあります: http://api.rubyonrails.org /classes/ActionController/Base.html#M000668する

  

すべてのアウトクリアすることにより、セッションをリセットします   内に格納されたオブジェクトと   新しいセッションオブジェクトを初期化します。

グッドラック!

他のヒント

レール内のセッションは、ハッシュオブジェクトです。したがって、ハッシュをクリアするために利用可能な任意の関数がセッションで動作します。

session.clear

または 特定のキーを破壊する必要がある場合:

session.delete(key)

タグレール3.2でテスト済み

追加

人々は悪い考えですsession={}で言及しています。 session.clearについて、Lobatiは、それはいくつかの他のsession.clearが何を超えて清掃ないとしてあなたが、[session.clearより] RESET_SESSIONを使用してオフにおそらく優れているように見えますcomments-。内部的には、 RESET_SESSIONはsession.destroyを呼び出します、それ自体を明確なだけでなく、いくつかの他のものを呼び出します。

ユーザのセッションを削除するには、

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する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top