Rails, Ruby

Rails 2.3でのSessionの有効期限を延ばす方法

あまり、ネットで検索しても出てこないのでメモ。Railsのセッション(Cookie)はブラウザーが終了すると消えてしまう。で、ブラウザーが終了した後も残す方法だが、以前のRails(おそらく2.2以前)だと、environment.rbあたりに次のように書く。

ActionController::Base.session_options[:session_expires] = Time.local(2009, 1)

詳しくは以下のサイトにある。

sessionに有効期限を設定する時の試練 – ザリガニが見ていた…。

が、やってみても思ったようにいかず、ブラウザーを終了するとセッションも失われてしまう。いろいろとネットを検索してみたところ、次のページにたどりついた。

Active Record Session expiration in Rails 2.3 – Ruby on Rails: Talk | Google グループ

いわく、

Oh, I found the reason

:session_expires has been replaced by :expire_after.

とのこと。確認していないが、expire_afterてことは、最後にアクセスしてからの有効期間が指定出来るのだろうか?

(追記)↑出来るようです。リロードするたびにCookieのexpire日次が更新されてます。

similar posts

comment

よろしければ、コメントをどうぞ。トラックバックはこちら

このエントリーのコメントの購読

次のHTMLタグが使えます。: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

*Required Fields