У меня есть модель пользователя, которая действует_as_authentic для управления паролями AuthLogic. AuthLogic добавляет атрибуты «password» и «password_confirmation» поверх атрибута «crypted_password», поддерживаемого БД. Это довольно стандартные вещи AuthLogic.
Я хочу иметь метод, который одновременно устанавливает и пароль, и пароль_подтверждения (полезно для внутренних приложений, где меня не волнуют опечатки). Для этого я создал новый метод в User:
#user.rb
def password_and_confirm=(value)
password = value
password_confirmation = value
end
Однако при вызове этого метода не , кажется, фактически устанавливает пароль:
user = User.new
user.password = "test"
user.password # => "test"
user.crypted_password # => a big base64 string, as expected
user = User.new
user.password_and_confirm = "test"
user.password # => nil
user.crypted_password # => nil
Я также пробовал другой маршрут:
def internal_password(value)
password = value
end
... и получил ту же проблему.
Почему я не могу установить атрибут пароля из метода внутри класса User?