rails Session:cookie_store设置每个基数到期

时间:2014-10-16 00:16:57

标签: ruby-on-rails session ruby-on-rails-3.2

我需要一个会话来保持30天(使用rails 3.2,cookie store)。

我希望不要在config.session_store中设置全局配置,但在设置会话变量时将其作为选项传递,类似于如何设置到期时间曲奇饼。

这可能吗?

如果没有,我计划全局为所有会话设置30天的到期时间,并在会话var中使用日期变量进行比较/销毁(如果需要)(但我不是不要捣蛋)左右)。

1 个答案:

答案 0 :(得分:0)

如果你使用cookies,你可以这样做:

cookies[:foo] = { :value => "bar", :expires => 4.weeks.from_now }

有关详细信息,请参阅http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html

我不知道如何让变量会话到期,你可能需要手动完成。

类似的东西:

def auth
  if session[:foo]
    reset_session if session[:last_seen] > 30.days.ago
    session[:last_seen] = Time.now
  end
end