私のコントローラは、セッション値をnilに設定しようとします。コントローラ内では動作しますが、ブラウザをリロードすると(終了せずに)、セッション値が戻ってきますか?セッション['value'] = nilはRails 3では空ではないようですか?
どのようにクリアして空にすることができますか?私はそれを設定するにもかかわらず、ブラウザがまだそのセッションを保存することは可能ですか?= nil?
私のコントローラは、セッション値をnilに設定しようとします。コントローラ内では動作しますが、ブラウザをリロードすると(終了せずに)、セッション値が戻ってきますか?セッション['value'] = nilはRails 3では空ではないようですか?
どのようにクリアして空にすることができますか?私はそれを設定するにもかかわらず、ブラウザがまだそのセッションを保存することは可能ですか?= nil?
変数をnilに設定すると、セッションが維持されます。 セッション全体を取り除くために、あなたのコントローラに
reset_session
を呼び出すようにしてください。
それにもかかわらず、でもnilに値を設定した後、それはあなたの次の要求で出てくるべきではありません。それを元に戻さないようにしてください。 before_filterで指定します。
セッションにCookieストアを使用している場合、変更されたセッションがブラウザに表示されない可能性があります。この場合、ブラウザは依然としてクッキー内に古い値を持っています。ページがリロードされると、ブラウザはCookieをレールに送信し、古い値を復元します。
あなたのコントローラーの操作を見ることなく、さらに言い表すのは難しいです。
あなたは 'session ['value]' = nil'または' session = nil'を呼び出していますか? –
最初 - 私は他のセッション変数を殺したくありません.... – Angela
あなたが提供したコードは正しいはずです。あなたはそれが呼ばれていると確信していますか? –