Как я могу настроить сообщение об ошибке Devise? - PullRequest
0 голосов
/ 29 марта 2019

В моем контроллере смены пароля я позволяю пользователям изменять свой пароль при условии, что у них есть действительный токен запроса пароля.

Однако после того, как они уже использовали его, он становится недействительным, и поэтому, если они хотят повторноиспользуйте его снова, пользователь получит сообщение об ошибке:

Reset password token is invalid

Это от самого Devise.Как можно изменить это сообщение так:

User reset password token already used

Если я не могу изменить сообщение с помощью какой-либо конфигурации, существует ли метод, который позволил бы мне проверить, является ли токен действительным или нет?

Чтобы я мог вручную вывести это сообщение в этом случае

Ответы [ 3 ]

2 голосов
/ 29 марта 2019

Это не Devise, а ActiveModel сообщение об ошибке :

person.errors.full_message(:name, 'is invalid') # => "Name is invalid"

И вы можете перезаписать его в файле локали.

en:
  activerecord:
    attributes:
      user:
        reset_password_token: User reset password token
    errors:
      models:
        user:
          attributes:
            reset_password_token:
              invalid: already used
0 голосов
/ 30 марта 2019

Если вы хотите изменить / настроить сообщения об ошибках / флэш-сообщения ... просто измените файл devise.en.yml, показанный ниже в config/locals/devise.en.yml местоположении

######example
en:
  devise:
    confirmations:
      ##OLD => confirmed: "Your email address has been successfully confirmed."
      confirmed: "Your are not a confirmed user.Kindly Confirm your Email Id"

Надеюсь, это поможет;)

0 голосов
/ 29 марта 2019

Вы можете настроить сообщения об ошибках в Devise, настроив свой файл локали (как указано в документации здесь )

Подробнее об использовании файлов локали можно найти здесь: https://github.com/plataformatec/devise/wiki/I18n

...