我在做 SSO 单点登录,我在做登出的时候,假设用户在 A 页面点击 sign out,就会由 A 页面发了一个 Ajax call 到 B 页面(在客户端完成),B 页面对应的 action 同通过 session.delete :user 来注销用户。但是很奇怪的是,不!管!用! 我在 session.delete :user 之后,用 binding.pry 来查看,发现 session 已经被清除了,但是当我跑到 B 页面时,却发现 session 依然存在。 直到我脑子一动,换成了 session[:user] = nil 来删除,就成功了,我想问问各位大牛,这 2 种方法的区别在哪呢!为什么第一种没用。