据我所知,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
答案 0 :(得分:1)
def lang_set
if params[:locale] != nil
cookies.permanent[:locale] = params[:locale]
end
I18n.locale = cookies[:locale]
end