現在、セッションの有効期限が1.hours
からRailsに設定されていますか?Cookieのように1時間後にセッションを期限切れにするにはどうすればよいですか?
クッキーのようなオプションがあります:
cookies[:thing] = {:value => {:normal => "session stuff"}, :expires => 2.hours.from_now}
は、セッションのための任意のオプションもありますか?
現在、セッションの有効期限が1.hours
からRailsに設定されていますか?Cookieのように1時間後にセッションを期限切れにするにはどうすればよいですか?
クッキーのようなオプションがあります:
cookies[:thing] = {:value => {:normal => "session stuff"}, :expires => 2.hours.from_now}
は、セッションのための任意のオプションもありますか?
あなたはまた、これらは私のアプリケーションで作業しているすべての
session[:expires_at] = Time.now + 60.minutes
session[:expires_at] = Time.now + 1.hour
session[:expires_at] = Time.now + 3600 #1 hour in seconds
を試すことができます。この
session[:expires_at] = 60.minutes.from_now
を試してみてください。タイムゾーンを忘れないでください。
申し訳ありませんこれは動作しません..このためのスイープを追加できます – Ramanavel
セッション[:expires_at]には、セッションの有効期限が切れる時間が含まれています... 60.minutes.from_nowはTime.now + 60.minutesに等しくなります。私のアプリケーションでうまくいきます。あなたが直面しているPBMは何ですか? –
タイムゾーンに問題がある可能性があります。必要なタイムゾーンでセッション[:expires_at] = 60.minutes + Time.nowを試すことができます。 –
あなたはあなたのアプリケーションのコントローラにこれを追加することができます:あなたは、セッション管理のために使うのですか宝石
before_filter :session_expires, :except => [:login, :logout]
before_filter :update_session_time, :except => [:login, :logout]
def session_expires
@time_left = (session[:expires_at] - Time.now).to_i
unless @time_left > 0
reset_session
flash[:error] = 'Lorem Ipsum.'
redirect_to :controller => 'foo', :action => 'bar'
end
end
def update_session_time
session[:expires_at] = 60.minutes.from_now
end
を?存在しない場合は、[there](http://snippets.dzone.com/posts/show/7400)などの独自のセッション有効期限フィルタを作成するか、 'Devise'([docs](https://github.com)/plataformatec/devise))には 'timeoutable'オプションがあります。 –