【发布时间】:2011-02-27 21:08:16
【问题描述】:
在 Rails 2 中使用 cookie 存储设置会话变量时,我可以看到 _domain_session 变量按预期设置,并且它显示在我浏览器的 cookie 中。但是,每当我尝试访问 request.session 哈希时,它总是为空的,除非是在设置会话之后。
# In a controller
Rails.logger.debug "BEFORE SESSION_ID: #{request.session_options[:id]}"
session[:user_id] = fbs[:uid]
session[:access_token] = fbs[:access_token]
render :text => '"Success"'
Rails.logger.debug "SESSION_ID: #{request.session_options[:id]}"
上面的代码会一直显示
BEFORE SESSION_ID:
SESSION_ID: f8db970260cb969156304a421036a8fb
这意味着只要将任何内容添加到会话哈希中,就会设置会话 ID,但在下一个请求之前会以某种方式重置。我在任何地方都看不到任何应该重置会话的内容。
为什么我可以看到正在设置的会话 cookie,但我无法通过会话变量访问数据?
【问题讨论】:
标签: ruby-on-rails cookies session