如何在rails 3中获取当前会话ID?
我试过以下没有运气:
session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id
Run Code Online (Sandbox Code Playgroud) 我在Heroku上运行一个简单的网站,当我运行应用程序时,我注意到一些奇怪的事情.当我的用户登录数据库时,大约有50-60%的用户报告了一个nil session_id.
我正在使用active_record_store作为我的会话处理程序,使用Postgres作为我的数据库服务器.我使用cookie_store得到了类似的结果,所以我不确定我做错了什么.我唯一的猜测是用户发出的第一个请求,可能还没有填充id.会话表具有正确的条目数,但我的跟踪表没有.
示例代码
class CaptionController < ApplicationController
def index
@image = Image.order("RANDOM()").first
Tracking.log(session.id, Tracking::VIEW_CAPTION_ON_IMAGE, @image.id)
end
Run Code Online (Sandbox Code Playgroud)
上面的代码占50%的时间,会话在其记录的表中为零.