Ruby on Rails の場合:
私が持っているとしますsession[:my_var] = 'my_val'
ここで私の質問は次のとおりsession[:my_var]=nil
です。ユーザーがサインアウトする前に設定する必要がありますか?
または、持っているメモリを自動的に解放します。
Ruby on Rails の場合:
私が持っているとしますsession[:my_var] = 'my_val'
ここで私の質問は次のとおりsession[:my_var]=nil
です。ユーザーがサインアウトする前に設定する必要がありますか?
または、持っているメモリを自動的に解放します。
Ruby on Rails は、ユーザーがサインアウトしたときに、何を保持したいのか、何を保持したくないのかを知りません。
たとえばsession[:language]
、匿名のユーザーであっても、すべてのユーザーに役立つ があるとします。ユーザーが特定の言語を選択するのに苦労した後、デフォルトの言語を表示するためにそれを消去したくないでしょう。
したがって、必要なセッションオブジェクトを削除しsession[:user]=nil
、残りを保持します。削除するものがたくさんある場合は、自分でログアウト ヘルパーを作成してください。
セッション全体をスワイプできることがわかっている場合は、reset_session
@adcosta が言ったように使用してください。
アプリ セッションをクリーンアップする場合は、reset_session を使用します。
var do session[:my_var]=nil のみをクリーンアップしたい場合
レールのセッションを参照してください
認証コードを適切に設定している場合は、メモリからの解放を処理する必要があります。私のアプリの1つでそれを行った方法は次のとおりです。
#sessions_controller
def destroy
reset_session
redirect_to login_path, notice: 'Logged out'
end