更改rails默认cookie到期时间

时间:2014-03-09 04:10:52

标签: ruby-on-rails cookies ruby-on-rails-4

我知道如何更改保存Cookie时的到期时间,我想知道的是如何更改默认值。 我有很多句子将cookie分散在我的代码中,我必须将所有这些更改为30天后过期,所以我更愿意更改将默认过期时间设置为30的内容天,以便影响到处的所有饼干。 提前谢谢!

更新 尝试使用:

# config/initializers/session_store.rb
MyApp::Application.config.session_store :cookie_store, key: '_your_app_session', expire_after: 30.days

但仍然不起作用......我想我知道问题是什么。当我在保存它时设置cookie过期时,它会出现在Firefox和Chrome上的“响应Cookie”下(当它工作时)但其余的cookie显示在两个浏览器的“请求Cookie”下。问题是我不知道rails如何处理请求/响应事务。

这就是我保存cookie的方法,但这不起作用。

cookies[:region] = params[:region]

这就是我的工作方式,但更喜欢另一种方式来节省时间并让以后更容易编辑。

cookies[:region] = { value: params[:region], expires: 30.days.from_now }

更新2:创建了一个新的rails应用程序以显示隔离的问题:https://github.com/jafuentest/newapp

1 个答案:

答案 0 :(得分:1)

您可以将其保存在session_store中:

# config/initializers/session_store.rb
MyApp::Application.config.session_store :cookie_store, key: '_your_app_session', expire_after: 30.days