这已经困扰我一段时间了。我的所有模型都会出现此问题,但我将使用其中之一 Quiz 作为示例。
测验具有以下验证:
validates_presence_of :size, :style
我正在使用 I18n,并且我的翻译文件中设置了以下内容:(这些只是标准错误消息,但我已将它们包含在我的 en.yml 中,以便如果我想要的话,可以轻松查看结构对于任何特定模型覆盖它们)
activerecord:
errors:
messages:
inclusion: "{{attribute}} is not included in the list"
invalid: "{{attribute}} is invalid"
empty: "{{attribute}} can't be empty"
blank: "{{attribute}} can't be blank"
record_invalid: "Validation failed: {{errors}}"
问题是这样的:如果我做了一个新的测验,它将验证失败,然后查看 quiz.errors.full_messages,每个错误消息都有属性,然后是完整消息:
>> quiz = Quiz.create
=> <unsaved quiz object>
>> quiz.errors.full_messages
=> ["Size Size can't be blank", "Style Style can't be blank"]
我不明白为什么该消息是,例如,"Size Size can't be blank"
并不是"Size can't be blank"
有人有什么想法吗?
还应该有:
en:
errors:
# The default format to use in full error messages.
format: "%{attribute} %{message}"
并且您的其他翻译不应包含%{attribute}
不再了。
为了确保您得到所有正确使用en.yml
从你的 Rails 版本来看,
它位于:lib/ruby/gems/1.8/gems/activemodel-3.0.3/lib/active_model/locale/en.yml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)