【发布时间】:2014-03-09 04:10:52
【问题描述】:
我知道保存cookie时如何更改过期时间,我想知道的是如何更改默认值。 我有很多句子设置分散在我的代码周围的 cookie,我必须将 所有这些 更改为在 30 天后过期,所以我更愿意更改将默认过期时间设置为 30 的内容天,以便它影响所有地方的所有 cookie。 提前致谢!
更新 尝试使用:
# config/initializers/session_store.rb
MyApp::Application.config.session_store :cookie_store, key: '_your_app_session', expire_after: 30.days
但仍然无法正常工作...我想我知道问题出在哪里。当我在保存它的那一刻设置 cookie 过期时,它会出现在 Firefox 和 Chrome 上的“响应 Cookies”下(这是它工作的时候)但其余的 cookie 出现在两个资源管理器的“请求 Cookies”下。问题是我不知道 Rails 是如何处理 Request/Response 的。
这是我保存 cookie 的方式,但不起作用。
cookies[:region] = params[:region]
这就是我让它工作的方式,但我更喜欢另一种方式来节省时间并让将来更容易编辑。
cookies[:region] = { value: params[:region], expires: 30.days.from_now }
更新 2:创建了一个新的 rails 应用程序来显示隔离的问题:https://github.com/jafuentest/newapp
【问题讨论】:
-
您能否制作一个最小的 Rails 应用程序(在本例中只是一个控制器)来显示您遇到的问题,并将链接放入问题中?
-
完成,您可以在这里查看:github.com/jafuentest/newapp
标签: ruby-on-rails cookies ruby-on-rails-4