У меня проблема с сопоставлением пароля пользователя с помощью devise gem в рельсах. Пароль пользователя хранится в моей базе данных, которая является encrypted_password, и я пытаюсь найти пользователя по паролю, но я не понимаю, как сопоставить пароль из формы и encrypted_password в моей базе данных.
User.find_by_email_and_password(params[:user][:email], params[:user][:password])
ruby-on-rails
devise
попорул
источник
источник
Ответы:
Я думаю, что это лучший и более элегантный способ сделать это:
Другой метод, в котором вы генерируете дайджест из пользовательского экземпляра, выдавал мне ошибки защищенного метода.
источник
Используйте методы разработки
Devise предоставляет вам встроенные методы для проверки пароля пользователя :
Для Rails 4+ с Strong Params вы можете сделать что-то вроде этого:
источник
Я думаю, что лучше будет это
источник
Я бы предложил это.
источник