因此,我以不同的方式提出了這個問題here並沒有得到答案,所以我將嘗試重新翻譯它,因爲這似乎是一個非常簡單的問題。Rails基於cookie的會話:混合會話範圍和過期時間
我有一個基於cookie的會話的Rails應用程序。默認情況下,它們沒有任何expires_at時間戳,因此會話cookie的範圍是'session'。這是你的香草Rails會議的東西。
現在我想創建一個'演示用戶'功能,其中我在15分鐘後將用戶踢出去。要做到這一點,我想成立一個expires_at上Time.now +會話cookie 15.minutes
session[:expires_at] = Time.now + 15.minutes
現在這上面這段代碼並執行,但對cookie的範圍沒有任何影響。範圍仍然是'會話'。如何將範圍從「會話」更改爲日期時間?
如果我在production.rb配置我的整個應用程序的會議上
:expire_after => 24.hours
然後它會工作......但問題是,我要選擇性地控制對會話cookie的有效期。
編輯:我發現當我設置會話[:expires_at]時,cookie的範圍沒有任何影響的原因是因爲隨後的請求會破壞會話cookie並將其重新設置爲會話。仍然不知道該怎麼做。
我喜歡這個解決方案是什麼OP的描述。它肯定會做你在問什麼,避免處理cookie過期,並讓你100%控制何時到期演示會話。 – awbergs 2013-03-18 02:02:59