Rails 3.2 будущее решение
Для тех, кто споткнулся здесь (и, возможно, прокрутил до дна), ищущих, как это сделать в более поздних версиях Rails, вот несколько хороших новостей для вас: это будет довольно просто сделать в Rails 4 после этого запрос на добавление объединен. Может потребоваться дополнительная полировка для некоторых сценариев, но здесь достигнут определенный прогресс.
А до тех пор вы можете обезопасить Rails в своем проекте с помощью запроса pull:)
class ActiveModel::Errors
def full_message(attribute, message)
return message if attribute == :base
attr_name = attribute.to_s.tr('.', '_').humanize
attr_name = @base.class.human_attribute_name(attribute, :default => attr_name)
I18n.t(:"errors.formats.attributes.#{attribute}", {
:default => [:"errors.format","%{attribute} %{message}"],
:attribute => attr_name,
:message => message
})
end
end
И добавьте следующее в ваш файл локали:
en:
errors:
formats:
attributes:
name: '%{message}'