我正在为我的rails应用程序编写一个功能,对于任何需要用户登录的任意操作,将首先提示未登录的用户使用ajax模式注册/登录,并在注册后/ login,原始操作已完成。
我正在尝试在会话中存储有关原始操作的信息。但是,当我在注册/登录结束时尝试访问时,会话数据正在消失。
当我检测到“匿名”用户时,我会保存有关操作的信息:
session[:interrupted_action] = #info on original action
然后渲染注册/登录模式。
完成后,我尝试再次访问会话信息:
if session[:interrupted_action]
#do stuff to complete action
不幸的是,会话[:interrupted_action]现在是nil
。我觉得我错过了一些明显的会话,但是我还没弄清楚。
我应该在这里做什么/调查?
答案 0 :(得分:0)
来自Rails指南
config.session_store通常在config / initializers / session_store.rb中设置,并指定用于存储会话的类。可能的值有:cookie_store,它是默认值,:mem_cache_store,和:disabled。最后一个告诉Rails不要处理会话。也可以指定自定义会话存储。
因此,如果您使用的是默认配置,则会话将存储在Cookie中。确保您的浏览器允许存储cookie。
您可以检查您的localhost的cookie中是否有任何条目
另外,尝试打印会话本身以查看散列中是否有任何内容。