我的模型( User )中有以下验证:
validates :first_name,:length => {:minimum => 2,:maximum => 50},:format => { :with => /[a-zA-Z]+/ }
我的 yml 语言环境文件中有以下内容:
attributes:
first_name:
too_short: "First name is too short"
too_long: "First name is too long"
invalid: "First name is not valid"
现在,如果我启动 a rails console
,并编写以下内容:
a = User.new
a.valid?
a.errors.full_messages
我会看到以下错误:
["First name First name is too short", "First name First name is not valid"]
如您所见,属性名称也附加在字段错误之前。到目前为止,我在代码中的任何地方都使用了model.errors[:field]
,这将始终显示我在 yml 文件中的字符串,但我想将字符串更改为:
attributes:
first_name:
too_short: " is too short"
too_long: " is too long"
invalid: " is not valid"
并使用 full_messages 版本。问题是,我不知道如何翻译属性名称。比方说,我想而不是名字,首先有名字。我该怎么做?