2011-11-11 101 views
0

我在MongoDB和MongoMapper中使用Rails。我的問題是我有一個從另一個繼承的類,我想省略其中一個鍵。例如:在MongoMapper中防止繼承

class A 
    include MongoMapper::EmbeddedDocument 
    many :items 
    #Other keys I want 
end 

class Item < A 
    include MongoMapper::EmbeddedDocument 
    #Included Keys from A 
    #Other Keys that I want 
end 

這裏的問題是Item繼承了許多項目的A關係。我怎樣才能防止呢?

回答

2

此:

從另一個繼承一個類,我想離開了鑰匙

表明你沒有繼承一個有效的關係之一。也許你想要更多的東西是這樣的:

class B 
    # Common things for A and C 
end 

class A < B 
    many :items 
    # Other things that shouldn't be in B or C 
end 

class C < B 
    # Other keys you want that aren't already in B 
end 

試圖縮小派生類的接口是你做錯了,需要重新審視自己的層次的標誌。