Rails的嵌套属性本地化
问题描述:
我的错误消息看起来像这样:
“性状链接性状名称不能为空”Rails的嵌套属性本地化
item_template(这种形式的根)的has_many trait_links
每个trait_link belongs_to的性状(多态)
这是我想要的结果:
“特质名称不能为空”
三件事我已经试过:
1.
en:
activerecord:
attributes:
item_template/trait_links:
trait: "trait"
2.
en:
activerecord:
attributes:
item_template:
trait_links: ""
3.
en:
activerecord:
attributes:
item_template/trait_links: ""
这些不工作。我怎样才能做到这一点?
谢谢
编辑:错误是故意的。我想改变它的文本。
答
错误消息在我看来并不像本地化相关的错误消息。本地化错误消息通常会提到“缺少翻译en.activerecord.attributes.etc”。
您看到的错误消息看起来像验证错误消息。您需要查看控制器收到的参数,以了解为什么trait_name为空。我打赌你在TraitLinks模型中有一条线,如:
validate :trait_name, presence: true
如果是这样,那么这是错误消息的来源。
此消息的I18n关键是:
en:
activerecord:
errors:
models:
trait_links:
attributes:
trait_name:
blank: "you really should enter a trait name, dude"
错误是故意的。我想改变它的文本。 – ThaBullfrog