3

私は深くネストされたモデルフォームを持っています。ネストされたモデルの属性がエラーになるとNested ModelsはRails 3.1のエラーメッセージのローカライゼーション属性を持っています

エラーメッセージが表示されます。

リスト項目識別子のURLが空白ではないかもしれません。ある

MODEL_NAME +属性+ローカライズファイルエラーメッセージ

正しいメッセージは次のようになります。

アイテムのリンクURLが空白ではないかもしれません。ローカライズは、そうでない場合は、ネストされたモデルを除いて正常に動作している

ruby-1.9.2-p290 :014 > ListItem.human_attribute_name("identifier") 
=> "Item Link" 

は、エラーメッセージに属性名。

2.3.4のbugが修正されたように見えますが、わかりません。

答えて

1

これを解決するための「適切な」方法であるかどうかはわかりませんが、これは機能します。

en: 
    activerecord: 
    attributes: 
     list_item: 
     identifier: Item Link 

これは、限り、あなたは直接ネストされたモデルから、それに取り組むように動作します:あなたのローカライズファイルで

は、おそらくこのようなものを持っています。私には

en: 
    activerecord: 
    attributes: 
     list_item: 
     identifier: Item Link 
     parent_model: 
     list_item: 
      identifier: Item Link 

これはあなたがネストされたレベルで人間が読める名前を繰り返す必要があるため、あまりにもDRY原則を破るように見えるが、これは以下を行う必要があります検証は、あなたのようなものを必要とするので、親モデルを経由して行くように見えるレールあなたのために働く。

+0

私はそれを試して誓うことができ、それは動作しませんでした。私は別のショットを与えるでしょう。 –

+0

http://www.soulcutter.com/blog/2013/localization-of-nested-attributes-in-rails-3-dot-2/に従って 'list/list_item:'も試してください。 – toxaq

関連する問題