过期的cookie未在IE9中设置

时间:2013-05-29 14:57:47

标签: ruby-on-rails

我有一个简单的控制器方法,其任务是设置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

1 个答案:

答案 0 :(得分:1)

IE< = 9会丢弃明确到期时间小于1.day.from_now

的Cookie

一种可能的解决方法是设置一个单独的带时间戳的cookie,例如:remembertoken_expires,同时设置:remembertoken,检查Time.amp的时间戳,并在Time.now>时明确删除cookie。 :remembertoken_expires