2012-01-02 113 views
0

我有三個簡單的模型 - Car,DetailsDetails2Car有很多DetailsDetails有很多Details2與Mongoid的關聯

與MySQL和ActiveRecord的,我會設定協會,如:

class Car 
    has_many :details 
end 


class Detail 
    belongs_to :car 
end 

在視圖中,在那裏我有車的名單,我有:

<% @cars.each do |car| -%> 
    <%=car.details.count%> #uninitialized constant Details 
<% end %> 

EDIT2: 這是我在汽車表:

db.cars.find() 
{ "_id" : ObjectId("4efe69716f85ce447a000054"), "name" : "bmw", "descr" : "asasgasga as gas gas ", "updated_at" : "Sat Dec 31 2011 02:46:25 GMT+0100 (CET)", "created_at" : "Sat Dec 31 2011 02:46:25 GMT+0100 (CET)" } 

細節

db.details.find() 
{ "_id" : ObjectId("4f01106d6f85ce6b850000b8"), "car_id" : ObjectId("4efe69716f85ce447a000054"), "name" : "20120102030325", "descr" : "dsg", "updated_at" : "Mon Jan 02 2012 03:03:25 GMT+0100 (CET)", "created_at" : "Mon Jan 02 2012 03:03:25 GMT+0100 (CET)" } 

而且在CarsController我只在這個動作:

def index 
    @cars = Car.all 
end 

這是所有我做什麼。

回答

2

您可以重複使用ActiveRecord中的知識。在Mongoid中的has_manybelongs_towork just fine

但是你可以利用文檔數據庫(MongoDB是),並使用一些嵌入。要使embedded_in正常工作,您必須在另一端有embeds_oneembeds_many。見http://mongoid.org/docs/relations/embedded/1-1.html

class Person 
    include Mongoid::Document 
    embeds_one :name 
    end 

    class Name 
    include Mongoid::Document 
    field :vorname, type: String 
    field :nachname, type: String 
    embedded_in :person 
    end 
+0

是的,我很抱歉,我的錯。我需要一些睡眠。但是現在當我嘗試'car.details.count'時,所以我會得到'未初始化的常量細節' – user984621 2012-01-02 02:01:12

+0

發佈一些你有的代碼。 – 2012-01-02 02:02:57

+0

我更新了我原來的帖子。 – user984621 2012-01-02 02:08:15