這段時間在接觸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}
時間可以自己設置。