2013-08-27 11 views
6

エラーメッセージは、単数形として定義されているので、ネストされたモデル属性を変換しません。Railsはネストされた属性の検証エラーメッセージを翻訳します。i18n

has_many:addressesというモデル 'Person'があります。このPersonモデルは、 'Addresses'のネストされた属性を受け入れます。 私はPersonモデルと一緒にAddressesを作成しています。

私のロケールファイルが

en: 
    activerecord: 
    models: 
     person: 
     one: "Person" 
     other: "People" 
     address: 
     one: 'Address' 
     other: 'Addresses' 
    attributes: 
     person: 
     first_name: 'First name' 
     last_name: 'Last name' 
     middle_name: 'Middel name' 
     address: 
     street: street 
     city: city 
     country: country 

のように見え、エラーメッセージのために:

en: 
    errors: &errors 
    format: ! '%{attribute} %{message}' 
    messages: 
     blank: can't be blank 

これは、単一のモデルではなく、私は検証メッセージの問題を持っているネストされた属性で動作します。

メッセージがのように表示されているので:それはちょうどYMLファイルにaddress.streetされているので、addresses.streetの翻訳を見つけられません

@messages= 
    {:first_name=>["can't be blank"], 
    :last_name=>["can't be blank"], 
    :"addresses.street"=>["can't be blank"], 
    :"addresses.city"=>["can't be blank"]}> 

検索。

私はすべてのエントリをダブルクリックせずにaddresses.streetを探すときにaddress.streetを見つけることができますか?あなたは、Railsのドキュメント

に複数形を処理する方法を

+0

多分[this so answer](http://stackoverflow.com/a/11129637/660260)かもしれません。 – Flauwekeul

答えて

-1

見上げるんでした[レールI18N] [1] [1]:英語でhttp://guides.rubyonrails.org/i18n.html#pluralization

3複数化 唯一の単数形と1つの複数形があります与えられた文字列、例えば「1メッセージ」と「2メッセージ」。他の言語(アラビア語、日本語、ロシア語など)は、複数の形を持つ文法が異なります。したがって、I18n APIは柔軟な複数化機能を提供します。

関連する問題