Rails 3:似乎无法为顶级域名编写cookie :(

时间:2011-01-30 19:30:30

标签: ruby-on-rails cookies dns subdomain

我将Cookie存储设置为domain => :所有,就像我在文档中找到的那样,它似乎有效,因为devise的身份验证适用于多个域。

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

然而,当我尝试自己写一个cookie时,它总是记下子域名...我不明白:

enter image description here

我以最简单的方式写cookie:

 cookies.permanent[:remember_locale] = locale

但不管它不会为顶级域名设置什么,而设计掉落的那个似乎没有问题地管理它:(

亚历

ps:我正在使用rails 3.0.3

1 个答案:

答案 0 :(得分:3)

session_store的配置仅适用于会话cookie。设置单独的cookie时,您还必须为该cookie指定域。

cookies.permanent[:remember_locale] = { :value => locale, :domain => :all }

注意(从轨道源拉出):

  # Please note that if you specify a :domain when setting a cookie, you must also specify the domain when deleting the cookie:
  #
  #  cookies[:key] = {
  #    :value => 'a yummy cookie',
  #    :expires => 1.year.from_now,
  #    :domain => 'domain.com'
  #  }
  #
  #  cookies.delete(:key, :domain => 'domain.com')