Ruby on rails 用户注销后是否需要删除会话变量?

Ruby on rails 用户注销后是否需要删除会话变量?,ruby-on-rails,ruby,ruby-on-rails-3,session,session-variables,Ruby On Rails,Ruby,Ruby On Rails 3,Session,Session Variables,在RubyonRails中: 假设我正在进行会话[:my\u var]=“my\u val” 所以我的问题是: 在用户注销之前,是否需要设置会话[:my_var]=nil 或者,它会自动释放内存。如果您想清理应用程序会话,请使用重置会话 如果您只想清理var do会话[:my_var]=nil 请参见rails中的内容,当用户注销时,RubyonRails不知道您想要保留什么 例如,假设您有一个对每个用户都有用的会话[:language],即使是匿名用户。在用户经历了选择一种特定语言的麻烦之后,

在RubyonRails中:

假设我正在进行
会话[:my\u var]=“my\u val”

所以我的问题是: 在用户注销之前,是否需要设置
会话[:my_var]=nil


或者,它会自动释放内存。

如果您想清理应用程序会话,请使用重置会话

如果您只想清理var do会话[:my_var]=nil


请参见rails中的内容,当用户注销时,RubyonRails不知道您想要保留什么

例如,假设您有一个对每个用户都有用的
会话[:language]
,即使是匿名用户。在用户经历了选择一种特定语言的麻烦之后,您不会希望删除它以显示默认语言

因此,删除您需要的会话对象,如
session[:user]=nil
,并保留其余的会话对象。如果你有很多东西要删除,那就让自己成为一个注销助手


如果你知道你可以刷卡整个会话,使用@adcosta所说的
reset\u会话。

如果你正确设置了身份验证代码,应该可以从内存中释放。下面是我如何在我的一个应用程序中做到这一点的:

#sessions_controller
  def destroy
    reset_session
    redirect_to login_path, notice: 'Logged out'
  end