Подтвердить что ты не робот

Как добавить модуль "timeoutable" от Devise к существующей установке Devise? - Рельсы 3.1

Это инструкции по добавлению модуля в существующую установку Devise: https://github.com/plataformatec/devise/wiki/How-To:-change-an-already-existing-table-to-add-devise-required-columns

Но я не могу найти нужные столбцы для timeoutable.

Я искал поля, которые timeoutable требуется в библиотеке Devise: https://github.com/plataformatec/devise/blob/master/lib/devise/schema.rb - но такого метода в этой схеме нет файл.

У модели просто есть собственный метод без ссылки на столбцы: http://rdoc.info/github/plataformatec/devise/master/Devise/Models/Timeoutable

Как добавить эту функциональность?

Спасибо.

4b9b3361

Ответ 1

timeoutable относится к таймауту сеанса входа в систему. Никаких дополнительных столбцов не требуется, просто добавьте их в свою модель.

Крючок timeoutable содержит все волшебство (источник: https://github.com/plataformatec/devise/blob/master/lib/devise/hooks/timeoutable.rb)

Ответ 2

Вам нужно только добавить timeoutable в свою модель пользователя:

devise :timeoutable

И установите интервал времени в config/initializers/devise.rb:

# ==> Configuration for :timeoutable
# The time you want to timeout the user session without activity. After this
# time the user will be asked for credentials again. Default is 30 minutes.
config.timeout_in = 30.minutes