Итак, я отправляю электронные письма для сброса пароля, и у меня возник вопрос, как решить эту проблему, после того как пользователь сбросил свой пароль. Я воссоздаю новый токен сброса пароля (я знаю, что это плохо, до того, как я его сгенерировал, когда отправлял запрос на сброс пароля, но это не сработало, поэтому я попробовал это). Каждый раз, когда я восстанавливаю токен, он не пропускает проверки, которые я установил в модели.
Как уже было сказано, я попытался переключить его, создать новый токен перед отправкой электронного письма и теперь, после того как они сбросили свой пароль. Я также просмотрел документацию has_secure_token
и нигде не вижу, где можно пропустить проверку при регенерации токена.
Это мой код для сброса пароля в модели User
.
def reset_password(password)
self.regenerate_reset_password_token
self.password = password
save(:validate => false)
end
Я получаю сообщение об ошибке при проверке паролей моего пользователя при регенерации токена, как было сказано ранее, но не уверен, как пропустить проверку при регенерации токена в строке 2 кода выше.
Validation failed: Password can't be blank, Password is too short (minimum is 8 characters)