сам.спасите! создает ошибку аргумента #
Я перезаписываю функцию valid_password Devise следующим образом:
def valid_password?(password)
if legacy_password?
return false unless Devise.secure_compare(self.encrypted_password,
legacy_password(password, self.encrypted_password))
attributes = { password: password,
password_confirmation: password,
legacy_password: false }
save!
end
super password
end
Мой след показывает, что все устанавливается правильно (новый encrypted_password), но когда процесс достигает save! он возвращает #<ArgumentError: wrong number of arguments (0 for 2)>
Помощь ценится!
Обновление:
Когда я просматриваю поля, кажется, что пароль и password_confirmation установлены правильно, но legacy_password-это то, что возвращает ошибку. Кроме того, в консоли, когда я ввожу Пользователь.legacy_password я получаю ту же ошибку. Это проблема с базой данных?
Недавно я добавил legacy_password в качестве миграции.
class AddLegacyPasswordToSpreeUsers < ActiveRecord::Migration
def up
add_column :spree_users, :legacy_password, :boolean
end
def down
remove_column :spree_users, :legacy_password
end
Конец