我显然是 Rails 新手,所以我遵循了一些有关如何在注销时清理 session 的示例,但 session 没有被清理。请参阅此处的代码,第一个记录器语句打印“20”,第二个记录器语句也打印“20”
还有什么我需要做的吗,可能需要一些配置?我也尝试了 session.delete(:user_id) ,但它不起作用。
def destroy
logger.error "Session user #{session[:user_id]}" #prints 20
session[:user_id] = nil
session.delete(:user_id)
session.destroy
logger.error "Session user #{session[:user_id]}" #prints 20 again??
redirect_to :root
end
我的环境 -
- Rails v3.0.3 本地开发环境 (OSX)
- 一切都是默认的,因为它是开发环境
- 默认 session 存储,我还没有尝试过
最佳答案
代替 session.destroy 使用
reset_session
这将重置应用程序中存在的所有 session 。
谢谢......
关于ruby-on-rails - Rails v3 session 销毁不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4678902/