Rails 3.2会话ID为nil,直到下一个请求

时间:2012-12-02 21:20:25

标签: ruby-on-rails-3 session

尝试将rails 2 app移植到rails 3,我遇到了一些会话问题!

在登录阶段我似乎无法获得对会话ID的引用。我正在查看request.session_options和session,在第二个请求之前似乎都没有分配会话ID。

当用户登录时,我会执行会话[:user_id] = user.id将它们放入会话中。我查看了我的会话表,它肯定会在那里添加会话信息,但我希望能够将会话ID发送到客户端,最好是使用登录响应。

值得注意的是,在登录后我发送的下一个请求&会话已创建,request.session_options确实有很好的数据,所以看起来事情正在发生,而不是按首选顺序。

使用登录响应发回会话ID的最佳方法是什么?

编辑:我正在制作的应用程序是一个与rails交谈的外部程序,所以我不能真正依赖浏览器cookie来自动运行。

1 个答案:

答案 0 :(得分:6)

我最近遇到过这种情况 - 请参阅http://www.gani.com.au/2013/08/force-session-creation-in-rails/。最后,我通过写信来强制创建会话。

session[:foo] = 'bar'