我将Cookie存储设置为domain => :所有,就像我在文档中找到的那样,它似乎有效,因为devise的身份验证适用于多个域。
MyApp::Application.config.session_store :cookie_store, :key => '_MyApp.com_session', :domain => :all
然而,当我尝试自己写一个cookie时,它总是记下子域名...我不明白:
我以最简单的方式写cookie:
cookies.permanent[:remember_locale] = locale
但不管它不会为顶级域名设置什么,而设计掉落的那个似乎没有问题地管理它:(
亚历
ps:我正在使用rails 3.0.3
答案 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')