我目前正在将rails应用程序从2.1.0升级到2.3.14。 现在大多数事情都运行良好,但用户会话存在一个奇怪的问题:
当用户登录后,会将其保存在会话中,即使在浏览器重新启动后也可以使用它。
但是:当我重新启动本地服务器并加载需要身份验证的页面时,会发生以下情况:
应用程序使用ActionController::Base.session_store = :active_record_store
和多个数据库(每个子域一个,不是我的决定)。选择正确的数据库为before_filter,rails将会话保存在这些数据库中。
我的猜测是,在服务器重启后,某些内容尚未正确设置,并且会在错误的数据库中搜索会话并保留第一个请求(但是在通过ActiveRecord::Base.establish_connection
设置后,它会保存在正确的数据库中)。
如果我的猜测是正确的,在建立连接后加载正确的会话应该解决这个问题。 有没有办法从数据库中完全重新加载会话或告诉Rails为所有会话使用自定义数据库?
提前致谢!