Как использовать Devise: запоминаем?

Я делаю приложение Rails.
Я хотел бы установить флажок "запомнить меня", чтобы пользователи могли пропустить пароль ввода в следующий раз с помощью Devise: rememberable.but, но я не могу понять, как реализовать.
если у вас есть идея с этим, пожалуйста, покажите мне пример кода для этого.

Ответ 1

Добавьте параметр :rememberable в модель пользователя

class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable,
         :validatable, :token_authenticatable, :lockable, :omniauthable

  # ...

end

Создайте перенос, чтобы добавить столбец remember_created_at в таблицу пользователей

class AddRememberCreatedAtToUsers < ActiveRecord::Migration
  def change
    add_column :users, :remember_created_at, :datetime
  end
end

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

<%= f.check_box :remember_me %> <%= f.label :remember_me %>

Я думаю, что все, что вам нужно...

Ответ 2

У вас могут возникнуть проблемы с возможностью запоминания, если вы пишете свои собственные стратегии аутентификации. Объект ресурса (например, User), возвращаемый вашей аутентификацией! метод должен отвечать за установку resource.remember_me из данных формы. Обычно это обрабатывается родительским методом Authenticable validate. Если вы не используете этот метод, вам придется установить его самостоятельно.