Не включая имена полей в сообщениях об ошибках валидации - PullRequest
3 голосов
/ 24 августа 2009

Если у меня есть следующая проверка:

validates_inclusion_of :dob, :in => Date.new(1900)..Time.now.years_ago(18).to_date, :message => "You must be 18 or older to register"

Фактическое сообщение на сайте, которое появляется:

"Dob Вы должны быть 18 или старше, чтобы зарегистрироваться"

Есть ли способ не включать имя столбца в начале сообщения?

Спасибо

Tom

Ответы [ 2 ]

3 голосов
/ 24 августа 2009

Да. Я использую плагин custom-err-msg . Это довольно легко, чтобы начать работу, просто прочитайте README.

0 голосов
/ 14 ноября 2017

Полное раскрытие: я разработал драгоценный камень.

Я чувствую, что существующие решения - это хаки, и я разработал этот драгоценный камень, чтобы избежать таких хаков.

https://github.com/lulalala/adequate_errors

После установки гема установите сообщение об ошибке в файле локали yaml следующим образом:

en:
  activemodel
    adequate_errors:
      models:
        user:
          attributes:
            dob:
              inclusion: "You must be 18 or older to register"

И тогда при доступе к model.errors.adequate.messages появится сообщение без префикса атрибута.

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