Если ваш код работает сейчас, то, вероятно, в вашей модели есть has_secure_password
.
Это, по умолчанию, добавляет к вашей модели аксессор password
и хэши значение в столбец с именем password_digest
.
Вы можете изменить имя столбца / атрибута, передав имя в качестве первого аргумента в has_secure_password
:
class User < ApplicationRecord
has_secure_password
has_secure_password(:security_question_1)
has_secure_password(:security_question_2)
...
Это будет автоматически sh user.security_question_1 = "..."
для столбца с именем security_question_1_digest
.
Имейте в виду:
- этот метод предназначен для хранения коротких сгенерированных пользователем паролей, используя BCrypt, что означает, что его максимальная длина составляет 72 символа.
- , этот метод также добавляет в вашу модель валидатор
validates_confirmation_of
. Вы можете подавить это, передав validations: false
.