Devise - изменить сообщение об ошибке без жестко закодированного в yml

Я аутентифицирую пользователя по Devise с ключами config.authentication_keys = [ :email , :company_id ]

В config/locales/devise.en.yml, сообщение об ошибке настроено:

    invalid: "Invalid %{authentication_keys} or password."

Итак, неверная аутентификация с сообщением (что мне не нравится):

    Invalid email, company_id or password.

Как я могу изменить сообщение, как это

    Invalid email, company or password.

без жесткого кода invalid: "Invalid email, company or password." в devise.en.yml:

1 ответ

Должно работать что-то вроде следующего:

config.authentication_keys = [ :email , :company_id ]
config.authentication_key_labels = config.authentication_keys.join(', ').gsub('_id','')

invalid: "Invalid %{authentication_key_labels} or password."

Редактировать: поскольку у самого устройства нет места для их хранения, я не могу найти способ сделать то, что вам нужно. Редактирование строк в самом файле yaml невозможно.

Другие вопросы по тегам