Rails 3: не могу писать куки для домена верхнего уровня :( - PullRequest
3 голосов
/ 30 января 2011

Я настроил хранилище cookie на домен =>: все, как я мог найти в документации, и похоже, что это работает, потому что аутентификация devise работает в нескольких доменах.

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

Однако, когда я пытаюсь записать файл cookie, он всегда записывает поддомен ... Я не понимаю:

enter image description here

Я пишу печенье самым простым способом:

 cookies.permanent[:remember_locale] = locale

Но независимо от того, что он не установит для домена верхнего уровня, в то время как тот, который был создан разработчиком, похоже, справится с этим без проблем: (

Alex

пс: я использую рельсы 3.0.3

1 Ответ

3 голосов
/ 01 июня 2011

Конфигурация для session_store применяется только к 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')
...