即使在销毁之后,会话仍然存在

时间:2015-04-14 06:18:15

标签: ruby-on-rails ruby session ruby-on-rails-4

我有一个名为session [:computerid]的会话变量,登录时它设置为" comp - 001"。退出时我正在删除如下的会话

 session.delete(:computerid)

但在这样做后,如果我调试会话[:computerid]它显示了值" comp - 001"。

我的session_store.rb文件包含以下代码:

 Rails.application.config.session_store :cookie_store, key: '_sample_app_session', :domain=>:all

你能建议我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试将其设为nil吗?像:

session[:computerid] = nil

这是rails中最常见的模式。

希望它有所帮助!

祝你好运!

答案 1 :(得分:0)

当用户注销时,Ruby on Rails不知道你想要保留什么。

比如说你有一个对每个用户都有用的会话[:language],甚至是匿名用户。在用户特别难以选择默认语言之后,您不希望将其删除以显示默认语言。

因此,删除您需要的会话对象,例如session [:user] = nil,并保留其余部分。如果您有很多要删除的内容,请自行注销帮助。

如果您知道可以滑动整个会话,请使用reset_session