2017-09-01 162 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