2010-07-09 8 views
7

मुझे Status मॉडल होना चाहिए जो कुछ उपयोगकर्ता द्वारा परिभाषित सेट अप (और विभिन्न उपयोगकर्ताओं के पास स्थिति पर अलग-अलग मान हो) के बाद अपेक्षाकृत स्थिर हो।क्या मुझे रेल पर रूबी में has_one या belong_to का उपयोग करना चाहिए?

स्थिति Contact और Event जैसे विभिन्न मॉडल पर लागू हो सकती है।

तो स्थितियां contact.status द्वारा लौटाए से event.status

अलग होगा मैं इतना है कि स्थिति तालिका विभिन्न प्रकार (contacts और events) है एप्लिकेशन डिजाइन करने के लिए चाहते हैं।

इसके लिए सही रणनीति और प्रारूप क्या है?

मैं Contact मॉडल में :has_one Status घोषणा करते हुए और :contacts तालिका में एक :status_id भंडारण की सोच रहा हूँ। Event के साथ डितो।

:statuses तालिका में स्थिति मूल्य, प्रकार और दिनांक होगा।

क्या यह समझ में आता है? क्या आप एक बेहतर दृष्टिकोण सुझा सकते हैं?

उत्तर

7

एक guide on this बहुत सवाल है। आपकी स्थिति थोड़ा अलग है, ऐसा लगता है कि आपके स्टेटस मॉडल को वास्तव में पॉलिमॉर्फिक होने की आवश्यकता है क्योंकि अलग-अलग चीजें 'स्थिति-योग्य' होंगी।

अपने प्रश्न का उत्तर देने के लिए, संपर्क/घटना है_ऑन स्थिति मुझे समझ में आता है।

+1

मेरा स्टेटस मॉडल पॉलिमॉर्फिक है .... मैंने इसे ऊपर संपादित किया .... मुझे आश्चर्य है कि मुझे चीजों को सरल बनाना चाहिए क्योंकि इसे खोजना मुश्किल लगता है ... मैंने सोचा कि कठिन – Angela

1

सबसे पहले, हैसोन रिलेशनशिप वर्तमान मॉडल में एक आईडी स्टोर नहीं करता है। यह सापेक्ष तालिका में एक विदेशी कुंजी की तलाश में है। उन संपर्कों या घटनाओं में status_id को संग्रहीत करने के लिए जिनका आप उपयोग करेंगे।

दूसरा, स्थिति में संग्रहीत जानकारी के प्रकार के आधार पर, इसे अपनी अलग तालिका क्यों होने की आवश्यकता है? आप जिस मॉडल का उपयोग करना चाहते हैं उस स्थिति में स्टेटस कॉलम क्यों न बनाएं? यहां थोड़ी अधिक जानकारी उपयोगी हो सकती है।

+1

अच्छा ... यह हो सकता है। ऐसा लगता है कि मैंने ईआरडी के सेट अप को देखा है जहां कुछ विशेष गुण जो कि मानक मानकीकृत थे, अलग-अलग टेबल होते थे। चूंकि मैंने ऊपर बताया है कि स्टेटस वैल्यू ज्यादा नहीं बदलते हैं, ऐसा लगता है कि यह अपनी खुद की टेबल में चीज की तरह होगा, खासकर जब से इसे एक ड्रॉप-डाउन या ऑटो-पूर्ण के रूप में उपलब्ध कराया जाएगा। – Angela

2

बस एक सामान्य सेटिंग में उत्तर को पूरा करने के लिए, जो आपकी पसंद को ड्राइव कर सकता है: belongs_to एसोसिएशन का उपयोग उस मॉडल में किया जाता है जिसमें विदेशी कुंजी है।

+0

यह सच नहीं है । विदेशी कुंजी का उपयोग has_many पर भी किया जा सकता है, क्योंकि जब एसोसिएशन का अनुमान नहीं लगाया जा सकता है। – sabaeus

संबंधित मुद्दे