Добавьте это к вашему config/locales/en.yml
файлу:
en:
activerecord:
errors:
# global message format
format: #{message}
full_messages:
# shared message format across models
foo:
blank: Ticket description is required
# model specific message format
brand:
zoo:
blank: Name is required
Теперь измените ваше сообщение проверки, чтобы сослаться на новый формат сообщения:
validates_presence_of :bar, :message => "Empty bar is not a good idea"
validates_presence_of :foo, :message => "foo.blank"
validates_presence_of :zoo, :message => "brand.zoo.blank"
Давайте попробуем код:
b = Brand.new
b.valid?
b.errors.full_messages
#=> ["Ticket description is required",
# "Empty bar is not a good idea",
# "Name is required"]
Как показано выше, вы можете настроить формат сообщения об ошибке на трех уровнях.
1) Глобально для всех сообщений об ошибках ActiveRecord
activerecord:
errors:
format: #{message}
2) Общие сообщения об ошибках в моделях
activerecord:
errors:
full_messages:
foo:
blank: Ticket description is required
3) Сообщения, специфичные для модели
activerecord:
errors:
full_messages:
brand:
zoo:
blank: Name is required