在以下情况下将Cookie设置为子域:使用所有选项

时间:2013-01-21 10:02:34

标签: ruby-on-rails ruby-on-rails-3 cookies

在我的会话控制器中,我想在用户登录时设置cookie。

假设我访问 http://buy.example.com/login ,控制器将处理登录以及cookie设置,如下所示:

    cookies[:status] = { value: 'y', :domain => :all }
    redirect_to referrer_url

我发现Cookie是在域 .buy.example.com 下设置的,而不是 .example.com

设置:domain => :all完全没有任何效果。

我使用的是Rails 3.2.11。测试在Chrome中完成。

1 个答案:

答案 0 :(得分:0)

您是否设置了config / initializers / session_store.rb文件

YourAppName::Application.config.session_store :cookie_store, 
:key => '_yourAppName_session', domain: {
  production: '.example.com',
  development: '.lvh.me'
}.fetch(Rails.env.to_sym, :all)

使用此配置,您可以使用lvh.me:3000作为开发中的网址。