Ruby on rails 轨道3:Can';似乎没有为顶级域编写cookie:(

Ruby on rails 轨道3:Can';似乎没有为顶级域编写cookie:(,ruby-on-rails,cookies,dns,subdomain,Ruby On Rails,Cookies,Dns,Subdomain,我将cookie存储设置为domain=>:all,就像我在文档中可以找到的那样,它似乎可以工作,因为designe的身份验证可以跨多个域工作 MyApp::Application.config.session_store :cookie_store, :key => '_MyApp.com_session', :domain => :all 但是,当我尝试写入cookie时,它总是写下子域…我不明白: 我以最简单的方式编写cookie: cookies.permanent[:

我将cookie存储设置为domain=>:all,就像我在文档中可以找到的那样,它似乎可以工作,因为designe的身份验证可以跨多个域工作

MyApp::Application.config.session_store :cookie_store, :key => '_MyApp.com_session', :domain => :all
但是,当我尝试写入cookie时,它总是写下子域…我不明白:

我以最简单的方式编写cookie:

 cookies.permanent[:remember_locale] = locale
但不管怎样,它都不会将其设置为顶级域,而Desive放弃的域似乎可以毫无问题地管理它:(

亚历克斯


ps:我使用的是rails 3.0.3

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

cookies.permanent[:remember_locale] = { :value => locale, :domain => :all }
注意(从rails源中提取):

  # 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')