我有一个名为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
你能建议我解决这个问题吗?
答案 0 :(得分:0)
您可以尝试将其设为nil
吗?像:
session[:computerid] = nil
这是rails中最常见的模式。
希望它有所帮助!
祝你好运!答案 1 :(得分:0)
当用户注销时,Ruby on Rails不知道你想要保留什么。
比如说你有一个对每个用户都有用的会话[:language],甚至是匿名用户。在用户特别难以选择默认语言之后,您不希望将其删除以显示默认语言。
因此,删除您需要的会话对象,例如session [:user] = nil,并保留其余部分。如果您有很多要删除的内容,请自行注销帮助。
如果您知道可以滑动整个会话,请使用reset_session