查看此处的文档 http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html,并按如下方式设置Rails cookie:
cookies[:votes_left] = { :value => 3, :expires => 24.hours.from_now }
在我的浏览器 (Chrome) 中,它报告了正确的值,但在"过期"列(网络> Cookie)下给了我Invalid Date
。
我是否设置了错误的日期?我已经尝试了时间对象的变体,但不断得到相同的结果,一个正确估值的 cookie 具有无效的过期时间。
我自己测试了一下,我认为你的代码没有问题。正如@Nevir所说,检查您的服务器时钟是否正确。唯一的问题是,如果它是错误的服务器时间并且它实际上在今天日期之前设置了过期时间,它不会设置 cookie。
尝试添加Rails.logger 24.hours.from_now
只是为了看看它输出了什么。
但是,是的,您正在正确设置过期参数。