Как переопределить контроллер паролей Devise? - PullRequest
0 голосов
/ 26 мая 2011

Как переопределить контроллер паролей Devise:

https://github.com/plataformatec/devise/blob/master/app/controllers/devise/passwords_controller.rb

Я хочу сделать следующее:

  1. нижний регистр всех писем, отправленных для сброса пароля. Все письма в БД в нижнем регистре. Если пользователь попытался сбросить действительное электронное письмо с заглавными буквами любых символов, сброс не может найти пользователя. И устройство даже не выдает сообщение об ошибке, в котором говорится, что пользователь не найден
  2. Если в def create не найдено ни одного пользователя, я хочу добавить флэш-память, в которой говорится, что пользователь не найден, вы ввели правильный адрес электронной почты?

Как я могу выполнить 2 пункта выше? Я считаю, что требуется переопределить контроллер паролей разработки. Как я могу это сделать? Или, если у вас есть лучшее решение, которое еще чище, я бы хотел услышать его.

Спасибо

1 Ответ

3 голосов
/ 26 мая 2011

инициализатор devise имеет возможность сделать любое поле нечувствительным к регистру:

config.case_insensitive_keys = [ :email ]

Если я правильно помню, он был добавлен в более новой версии, и если вы не видите некоторыесвязанные комментарии в вашем инициализаторе, тогда вы должны обновить свой devise gem, используя bundle upgrade devise.Я использую версию 1.3.3.И эта версия также показывает ошибку «Электронная почта не найдена», если введен неверный адрес электронной почты.

Если вы не получаете сообщение об ошибке, добавьте <%= devise_error_messages! %> к вашему представлению.Вы можете настроить сообщения об ошибках, отредактировав config/locales/devise.en.yml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...