4

Ruby on Rails の場合:

私が持っているとしますsession[:my_var] = 'my_val'

ここで私の質問は次のとおりsession[:my_var]=nilです。ユーザーがサインアウトする前に設定する必要がありますか?

または、持っているメモリを自動的に解放します。

4

3 に答える 3

4

Ruby on Rails は、ユーザーがサインアウトしたときに、何を保持したいのか、何を保持したくないのかを知りません。

たとえばsession[:language]、匿名のユーザーであっても、すべてのユーザーに役立つ があるとします。ユーザーが特定の言語を選択するのに苦労した後、デフォルトの言語を表示するためにそれを消去したくないでしょう。

したがって、必要なセッションオブジェクトを削除しsession[:user]=nil、残りを保持します。削除するものがたくさんある場合は、自分でログアウト ヘルパーを作成してください。

セッション全体をスワイプできることがわかっている場合は、reset_session@adcosta が言ったように使用してください。

于 2013-03-22T15:10:53.990 に答える
2

アプリ セッションをクリーンアップする場合は、reset_session を使用します。

var do session[:my_var]=nil のみをクリーンアップしたい場合

レールのセッションを参照してください

于 2013-03-22T14:47:55.893 に答える
1

認証コードを適切に設定している場合は、メモリからの解放を処理する必要があります。私のアプリの1つでそれを行った方法は次のとおりです。

#sessions_controller
  def destroy
    reset_session
    redirect_to login_path, notice: 'Logged out'
  end
于 2013-03-22T15:46:58.337 に答える