Дата окончания сессии Ruby on Rails

У меня есть следующая строка в моем приложении, которая позволяет сроку действия файла cookie по умолчанию 20 минут.

Rails.application.config.session_store :cookie_store, key: '_rails-omniauth_session', expire_after: 20.minutes

Но я хочу установить конкретную дату истечения срока действия по некоторым причинам. Я пробовал следующие строки, но они не смогли это сделать.

request.session_options[:expire_after] = 2.years
ActionController::Base.session_options[:expire_after] = 2.years

Как установить пользовательскую дату истечения срока действия?

Анг предложения,

Благодарю.

1 ответ

Если вам нужно установить срок действия сеансов через все контроллеры в вашем приложении, просто добавьте следующую опцию в ваш config/intializers/session_store.rb файл:

:expire_after => 60.minutes

Если вам нужно установить другое время истечения срока действия в разных контроллерах или действиях, используйте следующий код в действии или некоторые before_filter:

request.session_options = request.session_options.dup
request.session_options[:expire_after] = 5.minutes
request.session_options.freeze

Дублирование хэша необходимо только потому, что он уже заморожен

Источник

Другие вопросы по тегам