rails Сессия: срок действия cookie_store на основе
Мне нужна сессия, чтобы оставаться на 30 дней (используя рельсы 3.2, магазин cookie).
Я бы хотел не устанавливать глобальную конфигурацию в config.session_store, но передавать ее как опция, когда установлена переменная сеанса, аналогично тому, как вы можете установить истечение срока действия в cookie.
Это возможно?
Если нет, я планирую глобально установить истечение 30 дней для всех сеансов и использовать переменную date в сеансе var, чтобы выполнить сравнение/уничтожить, если необходимо (но я бы не стал гасить).
Если вы используете файлы cookie, вы можете сделать это так:
cookies[:foo] = { :value => "bar", :expires => 4.weeks.from_now }
См. Http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html для получения дополнительной информации.
Я не знаю, как иметь переменную сессию истечения срока действия, вам, вероятно, придется сделать это вручную.
Что-то вроде:
def auth
if session[:foo]
reset_session if session[:last_seen] > 30.days.ago
session[:last_seen] = Time.now
end
end