这段时间在接触rails的cookies,使用例子代码如下
def index
p cookies[:key]
cookies[:key] = "value"
redirect_to :action => "second_action"
end
def second_action
p cookies[:key]
cookies[:key] = "newvalue"
p cookies[:key]
end
你会发现在使用时一切都是正常的,但当你关闭浏览器并重新访问该方法时你会发现cookies消失了,为什么呢?
根据我的观察发现,原来cookies是有生命周期的,当你直接给cookies赋值而没有给其提供生命周期长短时,默认生命周期长度就是跟session一样的,当浏览器关闭时就结束。
设置生命周期的方法是
cookies[:key] = {:value => "value", exripes => 1.hour.from_now}
时间可以自己设置。