2011-04-09 7 views
5

मैं प्रणाली में मॉडलिंग उपयोगकर्ता विभिन्न प्रकार एक अच्छा तरीका खोजने हूँ। पंजीकरण के लिए, वह एक छात्र, एक सलाहकार, या दोनों बनने के लिए चुन सकते हैं। एक छात्र या एक सलाहकार होने के गुणों का अलग सेट है। छात्र और सलाहकार के पास अलग-अलग प्रोफ़ाइल टेम्पलेट लेआउट भी होंगे।कैसे रेल में एक से अधिक उपयोगकर्ता प्रकारों को प्रबंधित करने?

कैसे आप इस तरह की समस्या के लिए अपने नियंत्रकों और मॉडल डिजाइन होगा?

उत्तर

3
  1. मैं एक User जो एक Mentor वर्ग और/या एक Student वर्ग धारण कर सकते हैं पैदा करेगा। इस तरह आप अपने विभिन्न गुणों को एक दूसरे से अलग कर रहे हैं, जबकि एक ही गुण अभी भी User वर्ग में रहते हैं।
    नियंत्रक आप किसी टेम्पलेट (या आंशिक) प्रदान कर सकते हैं में, उदाहरण के पर निर्भर करता है उपयोगकर्ता रखती है। छात्रों के लिए एक, सलाहकारों के लिए एक और दोनों के लिए एक।

  2. तुम भी (Mentor, Student और Both बच्चे के रूप में के साथ माता पिता के रूप User) विरासत इस्तेमाल कर सकते हैं। कुंजी शब्द तुम यहाँ पर गौर करना चाहते हैं Single Table Inheritance है।

इमो समस्या दोनों विकल्प है। यही कारण है कि मैं पहला समाधान पसंद करूंगा।

+3

"दोनों" सबक्लास का विचार मुझे अविश्वसनीय रूप से अजीब लगता है, जब तक कि कोई तथ्य न हो कि कोई भी नई संपत्ति बनाता है। निश्चित रूप से अपना पहला समाधान पसंद करते हैं। –

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

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