Ruby on rails Rails 2.3:服务器重新启动后,会话不可用于第一个请求
我目前正在将rails应用程序从2.1.0升级到2.3.14。 大多数事情现在运行良好,但用户会话有一个奇怪的问题: 当用户登录后,它将保存在会话中,即使在重新启动浏览器后也可以使用-这是应该的 但是:当我重新启动本地服务器并加载需要身份验证的页面时,会发生以下情况:Ruby on rails Rails 2.3:服务器重新启动后,会话不可用于第一个请求,ruby-on-rails,session,Ruby On Rails,Session,我目前正在将rails应用程序从2.1.0升级到2.3.14。 大多数事情现在运行良好,但用户会话有一个奇怪的问题: 当用户登录后,它将保存在会话中,即使在重新启动浏览器后也可以使用-这是应该的 但是:当我重新启动本地服务器并加载需要身份验证的页面时,会发生以下情况: Rails在数据库中创建一个新的会话行,其会话id与以前完全相同 在应用程序内部,“旧”会话不可用,旧会话数据不可用 如果我只是在之后重新加载页面(F5),那么包含旧数据的正确会话将被很好地加载 该应用程序使用ActionCont
ActionController::Base.session\u store=:active\u record\u store
和多个数据库(每个子域一个,这不是我的决定)。选择正确的数据库,就像之前一样\u filter和rails在这些数据库中保存会话
我的猜测是,在服务器重新启动后,某些内容尚未正确设置,会话将在错误的数据库中搜索,并保留在第一个请求中(但在通过ActiveRecord::Base.build\u connection
设置后,会话将保存在正确的数据库中)
如果我的猜测是正确的,那么在建立连接后加载正确的会话应该可以解决这个问题。
有没有办法从数据库中完全重新加载会话,或者告诉Rails对所有会话使用自定义数据库
提前谢谢