2011-12-22 5 views

答えて

3

でエラーからの翻訳を使用する必要がありますがActiveModelではなく、Mongoidによって処理され、埋め込まれたモデルは、単に属性のローカライズの面内の属性であると考えられています。この場合

あなたが国際化ファイルに以下を使用する場合は、数字属性のhuman_attribute_name戻って何を修正することではなく、複数のより単数形を得るでしょう:私が試したまで

en: 
    mongoid: 
     attributes: 
      report: 
       figures: Figure 
+0

それは動作します。 22時間で賞金を授与します。 –

+0

それも私のために働いた。おかげで:) –

1

あなたが好きなあなたの関係に名前を付けることはできませんが、クラスが が名前からMongoidによって推測することができない場合は、どちらも反対 側はあなたが提供したいと思うことができます へのいくつかの追加オプションを持つマクロは、それらをフックする方法をMongoidに伝えます。

あなただけ読めるメッセージに

class Report 
    include Mongoid::Document 
    embeds_many :figures, class_name: "Figure" 
end 

class Figure 
    include Mongoid::Document 
    embedded_in :report, class_name: "Report" 
    field :legend 
    validates_presence_of :legend 
end 
+0

あなたの答えは良い見えましたそれは動作しません。モンゴイドは、一般的な "s"接尾辞の複数形を推測できるはずです。その部分は、クラス名を指定してもしなくてもうまく動作します。問題は検証メッセージに残ります。 –

関連する問題