मैं मोंगोमैपर के साथ कक्षा विरासत का उपयोग करने से बेहतर और संगठित परिणाम प्राप्त करने की कोशिश कर रहा हूं, लेकिन कुछ परेशानी है।मोंगोमैपर अभिभावक विरासत
class Item
include MongoMapper::Document
key :name, String
end
class Picture < Item
key :url, String
end
class Video < Item
key :length, Integer
end
जब मैं निम्नलिखित आदेश चलाता हूं, तो वे जो कुछ भी उम्मीद कर रहे हैं वह काफी वापस नहीं लौटाता है।
>> Item.all
=> [#<Item name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
>> Video.all
=> [#<Video name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
>> Picture.all
=> [#<Picture name: "Testing", created_at: Sun, 03 Jan 2010 20:02:48 PST -08:00, updated_at: Mon, 04 Jan 2010 13:01:31 PST -08:00, _id: 4b416868010e2a04d0000002, views: 0, user_id: 4b416844010e2a04d0000001, description: "lorem?">]
वे सभी एक ही परिणाम हैं, मैं Item.all
सूची परिणामों के सभी की उम्मीद करेंगे, तो खुद को भी शामिल है, Picture
, और Video
। लेकिन अगर आइटम वास्तव में Picture
है, तो मैं Picture.all
चलाता हूं और यदि मैं Video.all
चलाता हूं तो मैं इसे वापस करना चाहता हूं। क्या तुमने देखा कि मेरा क्या मतलब है?
क्या मैं गलत समझता हूं कि विरासत यहां कैसे काम करती है? अगर मैं इस तरह के व्यवहार को दोहराने का सबसे अच्छा तरीका हूं? मैं this (बिंदु 2) का पालन करने की कोशिश कर रहा हूं कि मैं यह काम कैसे करूं। मुझे लगता है कि वह सभी लिंक खोजने के लिए Link.all
चला सकता है, और Item
से प्राप्त होने वाली हर दूसरी कक्षा को शामिल नहीं कर सकता है। क्या मै गलत हु?
बहुत बहुत शुक्रिया। कम से कम कहने के लिए बहुत निराशाजनक था! – Garrett