2011-01-23 42 views
1

我有一個查詢類,我希望它的human_readable名稱在活動記錄錯誤消息中是「搜索」。 activerecord本地化樹如何尋找這種情況?在錯誤信息中本地化activerecord模型名稱

我想:

en: 
    activerecord: 
    models: 
     query: "Search" 
    errors: 
     models: 
     query: 
      attributes: 
      name: 
       unique_within_scope: "blah blah" 

和屬性的東西通過作品:

errors.add(:name, I18n.t('activerecord.errors.models.query.attributes.name.unique_within_scope')) 

模型。但我希望錯誤消息的翻譯unique_within_scope會導致:

「搜索保存失敗: 等等等等」

代替:

「查詢保存失敗: 等等等等」

就像現在這樣。

任何幫助表示讚賞。謝謝!

回答

1

它實際上工作,我只需要重新啓動服務器。

0

,而你的方法工作,這將是清潔:

errors.add(:name, :unique_within_scope) 

,然後簡單地定義一個資源字符串

activerecord.errors.models.query.attributes.name.unique_within_scope 

換句話說,如果你在一個符號傳遞,它假定它是一個資源鍵,並會在您的資源包中查找它。

另外一個好處是,您還可以定義

activerecord.errors.messages.unique_within_scope 

設置默認消息對於這種類型的(由不同型號或不同性質的使用),然後可以在必要時覆蓋特定模型的誤差。