У моего Rails-приложения есть окно с надписью "помнить меня". Пользователи, которые проверяют этот флажок, должны оставаться в системе даже после закрытия своего браузера. Я отслеживаю, зарегистрированы ли пользователи, сохраняя их идентификатор в сеансе пользователя.
Но сеансы реализованы в Rails как файлы cookie сеанса, которые не являются постоянными. Я могу сделать их упорными:
class ApplicationController < ActionController::Base
  before_filter :update_session_expiration_date
  private
  def update_session_expiration_date
    options = ActionController::Base.session_options
    unless options[:session_expires]
      options[:session_expires] = 1.year.from_now
    end
  end
end
Но это похоже на хак, что удивительно для таких общих функций. Есть ли лучший способ?
Edit
Ответ Gareth довольно хорош, но мне все равно нужен ответ от знакомого с Rails 2 (из-за этого уникального CookieSessionStore).