0

我在Rails 4中创建了一个应用程序,并且需要以不同的时间间隔(每隔几分钟,每小时一个,每个工作日一次)过期3次不同的会话。在不同时间在Rails 4中过期多个会话

但是,目前,我的所有三个会话似乎都会同时到期,并以这些集合中的最小值(即每5分钟)为其到期长度。任何想法我做错了什么?

目前,我已经试过在会话存储设置这些到期,就像这样:

Rails.application.config.session_store :cookie_store, key: 'current_customer', expire_after: 60.minutes 
Rails.application.config.session_store :cookie_store, key: 'staff_id', expire_after: 540.minutes 
Rails.application.config.session_store :cookie_store, key: 'barcode_ids', expire_after: 5.minutes 

谢谢

回答

1

在你的代码示例,你居然3次的1个值,每个时间会被新值覆盖。所以实际上它只使用最后一行。

Rails只为每个用户创建一个cookie,每个用户创建一个cookie,另外两个应该手动创建。

+0

除了创建原始键:值对,我也发藏汉到期键值对他们,如 会话[:expires_at] = Time.current + 1.hours。 要删除单个密钥值对,似乎我可以使用如下语句 如果会话[:expires_at]