我有一个简单的控制器方法,其任务是设置cookie。
def consume
cookies.signed[:luke_luke] = {:value => 'luke'}
cookies.signed[:remembertoken] = {
:value => "user",
:expires => 1.hour.from_now
}
render :text => "Failure"
end
当我加载IE 9,并在控制台中键入document.cookie时,我只返回luke_luke的值,但不记得令牌。当我删除记忆令牌上的过期时,一切都很顺利。是什么给了什么?
使用Rails 3.2.13
答案 0 :(得分:1)
IE< = 9会丢弃明确到期时间小于1.day.from_now
的Cookie一种可能的解决方法是设置一个单独的带时间戳的cookie,例如:remembertoken_expires,同时设置:remembertoken,检查Time.amp的时间戳,并在Time.now>时明确删除cookie。 :remembertoken_expires