7

कुछ तथ्यों/मान्यताओं:क्या ड्रैपर या अपोटोमो के साथ रेल पर रूबी एक एमवीवीएम है?

  1. कहा जाता है कि रूबी ऑन रेल्स MVC वास्तु पद्धति का अनुसरण करता है।
  2. एमवीवीएम (मॉडल व्यू व्यू मॉडेल), जो एमवीसी से निकला है, एक अमूर्त परत प्रदान करता है, जहां सभी बटन, लेबल और लिंक (व्यू) मॉडल को डेटा (व्यूमोडेल) का पर्दाफाश करने के तरीके से अलग होते हैं।
  3. कुछ जावास्क्रिप्ट ढांचे, जो एकल पृष्ठ ऐप्स बनाने में उत्कृष्टता रखते हैं, एमवीवीएम पैटर्न का लाभ उठाते हैं (उदाहरण के लिए Knockout.js)।
  4. यदि हम Ruby toolbox चेक करते हैं, तो हम कई प्रस्तुति समाधान जैसे ड्रैपर और एपोतोमो देखेंगे जो एक व्यूमोडेल चीज़ के रूप में काम करते हैं।

मान लिया जाये कि मेरे 'तथ्यों' अनुभाग में कोई bs नहीं है, वहाँ एक बात यह है कि परेशान मुझे:

  • हम ड्रेपर, Apotomo (या अन्य प्रस्तुतकर्ता/डेकोरेटर) एक MVVM समाधान के साथ रेल फोन कर सकते हैं ?
  • क्या हम कह सकते हैं कि हम रेल के साथ एमवीवीएम पैटर्न का पालन कर रहे हैं, अगर हम मॉडल से डेटा को सजावटी/प्रस्तुति कंटेनर के रूप में ड्रेपर के रूप में समाहित करते हैं?
  • या क्या कुछ गायब है और हम इसे एमवीवीएम नहीं कह सकते हैं, जैसे Knockout.js?

आपकी अंतर्दृष्टि के लिए धन्यवाद।

उत्तर

3

मेरी राय में नहीं .... मैं एमवीवीएम के बारे में सोचता हूं कि विशिष्ट दृश्य ऑब्जेक्ट्स बनाते हैं जो अंतर्निहित डेटा/डोमेन ऑब्जेक्ट से डिस्कनेक्ट होते हैं।

रेल प्रस्तुतकर्ता पैटर्न के साथ, ये प्रस्तुतकर्ता आम तौर पर सक्रिय रिकॉर्ड ऑब्जेक्ट के चारों ओर लपेटेंगे और प्रस्तुति से संबंधित विधियों को जोड़ देंगे।

+0

प्रस्तुतकर्ता/सजावटी को मॉडल परत के साथ थोड़ा सा जोड़ा जा रहा है यह सुनिश्चित करने के लिए है कि ड्रैपर - मैं सहमत हूं। लेकिन Apotomo के बारे में क्या? कल्पना कीजिए, आप चार्ट को प्रतिपादित करने के लिए अपोटोमो का उपयोग कर रहे हैं (मान लें higcharts.com)। आप इसे कोड करते हैं, इसलिए एपोतोमो विजेट डेटा की एक पैरा श्रृंखला (केवल लेबल और संख्या) के रूप में लेता है और इसे पूर्वनिर्धारित तरीके से प्रदर्शित करता है। इस तरह के दृष्टिकोण "मॉडल परत से डिस्कनेक्शन" के बारे में आपकी अपेक्षाओं को पूरा करते हैं? आपके उत्तरों और राय के लिए धन्यवाद, मैं इसकी सराहना करता हूं! – socjopata

+0

@socjopata खैर, मुझे लगता है कि अगर आप एक दृश्य वस्तु बनाना चाहते हैं और इसे एपोतोमो को भेजना चाहते हैं, तो सुनिश्चित करें ... लेकिन मुझे नहीं लगता कि एपोतोमो को इस डिस्कनेक्शन की आवश्यकता होगी। –

+1

मैं इस मामले पर अन्य स्टैक ओवरफ्लो उपयोगकर्ताओं के साथ कुछ और चर्चा के लिए उम्मीद कर रहा था। फिर भी, "हरी टिक" आप से संबंधित है। आपकी राय के लिए धन्यवाद :) – socjopata