为什么我的Rails cookie在浏览器关闭时丢失了?

时间:2013-09-30 18:04:06

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

据我所知,Rails需要一些配置才能让cookie在浏览器关闭时保持不变。 cookie设置正确,我可以在浏览器保持打开状态时获得所需的结果。但是,只要我关闭浏览器并重新打开它并访问该网站,cookie数据就会丢失。

我是在适当的控制器中做到的:

cookies[:locale] = { value: params[:locale], expires: 1.year.from_now }

我也在session_store.rb中执行了此操作:

myApp::Application.config.session_store :cookie_store, {
  :expire_after =>  nil,
}

似乎很简单。我错过了什么?


为了清晰起见,编辑完全有条件 -

def lang_set
 if params[:locale] != nil
  cookies.permanent[:locale] = params[:locale]
 end
 I18n.locale = cookies[:locale]
end

1 个答案:

答案 0 :(得分:1)

def lang_set
 if params[:locale] != nil
  cookies.permanent[:locale] = params[:locale]
 end
 I18n.locale = cookies[:locale]
end