我目前正在为我的Rails应用程序使用基于ActiveRecord的会话存储,我有一个后台进程每30分钟清除一次不活动的会话.
我想切换到Rails的新的基于cookie的会话存储,但是如何将会话的到期时间设置为30分钟,而不是默认的“会话结束”值?
解决方法
在办公室对话后,我偶然发现了这个问题.只是为了完整起见,我发现在一段时间的闲置之后可以过期会话,它被内置到Rails中.在config / environment.rb中,执行以下操作:
config.action_controller.session = { :key => 'whatever',:secret => 'nottellingyou',:expire_after => 30.minutes }
查看lib/action_controller/session/cookie_store.rb#114的(显然是未记录的)选项在行动.看起来自2008年12月移动到Rack会议之后.