2017-09-01 137 views
0

我的错误消息看起来像这样:
“性状链接性状名称不能为空”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: "" 

这些不工作。我怎样才能做到这一点?

谢谢

编辑:错误是故意的。我想改变它的文本。

回答

0

错误消息在我看来并不像本地化相关的错误消息。本地化错误消息通常会提到“缺少翻译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" 

Rails guides on internationalization, para 4.5.1

+0

错误是故意的。我想改变它的文本。 – ThaBullfrog