2

我正在使用 Rails 3 的会话变量来存储一些数据。例如。session[:token] = user_token

如果我通过 heroku 域访问我的应用程序,则此会话变量存在于整个单个会话中。(example.heroku.com) 但是,如果我通过自定义域访问,(www.example.com) 每次我重定向到域中的另一个页面时,会话变量都会清除。

我无法弄清楚我尝试使用 :cookie_store 和 :active_record_store 实现它的问题是什么,但同样的问题仍然存在。我什至尝试为 :cookie_store 设置 :domain

MyApp::Application.config.session_store :cookie_store, :key => '_my_app_session', :domain => :all

还没有运气。如果我错过了任何设置,请告诉我。

4

1 回答 1

1

在这种情况下,您需要设置一个默认域。 ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain] = '.example.com'

有关详细信息,请阅读此博客Cookie-Handling

于 2012-04-14T18:18:49.533 回答