我知道 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