मैं कागज पर एक साथ रखे मॉडल के एक सेट को लागू करने की कोशिश कर रहा था और एक मुद्दे में भाग गया जहां मैंने सोचा कि इसके बारे में जाने का सबसे अच्छा तरीका एक एकाधिक टेबल विरासत सेटअप का उपयोग करेगा। हालांकि, Google खोज के बाद मैंने पाया कि ActiveRecord एमटीआई का समर्थन नहीं करता है ... भले ही बहुत सारे लेख दिखाए जा रहे हैं कि यह कैसे किया जा सकता है। यह मुझे आश्चर्यचकित कर रहा था कि अगर मैं लागू नहीं किया गया तो मैं अपने मॉडल को सही तरीके से स्थापित कर रहा था। तो मेरा सवाल यह है कि एमटीआई के लिए सक्रिय रिकॉर्ड क्यों नहीं बनाया गया है? यदि आप उत्सुक हैं कि मेरा मॉडल सेटअप किस तरह दिख रहा था, तो मैं इसे नीचे छोड़ दूंगा।रेल में ActiveRecord एकाधिक तालिका विरासत का समर्थन क्यों नहीं करता है?
class Player < ActiveRecord::Base; end
class CollegePlayer < Player; end
class ProPlayer < Player; end
जहां कोई खिलाड़ी कॉलेजप्लेयर और प्रोप्लेयर दोनों या दोनों हो सकता है। या फिर एक और उदाहरण में ...
class Person < ActiveRecord::Base; end
class User < Person; end
class Player < Person; end
class Coach < Person; end
जहां एक "व्यक्ति" एक User
, पूर्वPlayer
, और/या Coach
हो सकता है।
मुझे" कॉलेज प्लेयर "जैसी चीज़ें देखने की ज़रूरत होती है जैसे खिलाड़ी कुछ करता है (या उनकी भूमिका पूरा करें) उनकी पहचान के एक हिस्से के बजाय। इसी तरह, यदि आपके पास कोई व्यक्ति है, तो उस व्यक्ति के अंतर्निहित गुणों की बजाय "खिलाड़ी" और "कोच" भूमिकाएं हैं। मुझे लगता है कि आपका मॉडल सेटअप "सचमुच" धारणा बहुत सचमुच लेता है। –
@muistooshort आप शायद सही हैं, मैं बस अतिरिक्त जानकारी के रूप में प्रदान कर रहा था। मैं मुख्य रूप से पूछ रहा हूं कि सक्रिय रिकॉर्ड में एकाधिक टेबल विरासत समर्थन क्यों नहीं है। – daveomcd