Как использовать Devise: запоминающийся?

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

2 ответа

Добавить :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 %>

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

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

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