2011-12-22 65 views

回答

3

從錯誤翻譯成可讀的消息被處理加載ActiveModel而不是Mongoid和嵌入式模型被認爲只是在屬性本地化方面的屬性。

在這種情況下,如果你在一個國際化文件中使用下面你會通過修改得到一個單數形式,而非複數什麼human_attribute_name返回人物屬性:

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

這是有效的。我會在22小時內獎勵賞金。 – 2012-01-24 01:18:37

+0

它也適用於我。謝謝:) – 2012-01-24 08:49:22

1

Mongoid docs

可以命名你的關係,不管你喜歡,但如果類不能 被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

你的答案看起來很不錯,直到我試圖它並不起作用。 Mongoid應該能夠推斷出普通的「s」後綴複數。該部分工作正常或不指定類名稱。問題仍然存在於驗證消息中。 – 2011-12-27 19:37:38