在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所述。
如果您已经正确设置了您的验证码,那么它应该处理从内存释放。以下是我在其中一个应用中完成的操作:
#sessions_controller
def destroy
reset_session
redirect_to login_path, notice: 'Logged out'
end