2011-11-11 11 views
0

私はMongoDBとMongoMapperでRailsを使用しています。私の問題は、別のクラスを継承しているクラスがあり、キーの1つを残したいということです。たとえば、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 

ここで問題となるのは、多くのアイテムの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 

をあなたが何か間違ったことや、あなたの階層を再考する必要がありますサインです。