मेरी पिछली सीखने वाली परियोजनाओं में मैंने हमेशा एक नियंत्रक का उपयोग किया, लेकिन अब मुझे आश्चर्य है कि यह अच्छा अभ्यास है या हमेशा भी संभव है।क्या विभिन्न नियंत्रकों द्वारा फ्रंटेंड और बैकएंड को संभाला जाना चाहिए?
सभी रीस्टफुल रेल ट्यूटोरियल में नियंत्रकों के पास show
, edit
और index
व्यू है। यदि कोई अधिकृत उपयोगकर्ता लॉग ऑन है, तो edit
व्यू उपलब्ध हो जाता है और index
व्यू अतिरिक्त डेटा मैनिपुलेशन नियंत्रण दिखाता है, जैसे डिलीट बटन या edit
व्यू का लिंक।
अब मैं एक रेल आवेदन जो इस पैटर्न में वास्तव में गिर जाता है है, लेकिन index
दृश्य पुन: प्रयोज्य नहीं है:
- सामान्य उपयोगकर्ता बहुत सारे चित्र, जटिल लेआउट के साथ एक आकर्षक सूचकांक पृष्ठ देखता है, कोई जावास्क्रिप्ट आवश्यकता ...
- व्यवस्थापक उपयोगकर्ता सूचकांक एक पूरी तरह से अलग minimalistic डिजाइन, jQuery मेज और अतिरिक्त डेटा के बहुत सारे, ...
अब मैं इस मामले को संभालने के लिए कैसे यकीन नहीं है। मैं निम्नलिखित के बारे में सोच सकते हैं:
- एकल नियंत्रक, एकल दृश्य: दृश्य दो बड़े ब्लॉकों/एक
if
कथन का उपयोग partials में विभाजित है। - एकल नियंत्रक, दो विचार:
index
औरindex_admin
। - दो अलग अलग नियंत्रकों:
BookController
औरBookAdminController
इन समाधानों में से कोई भी सही लगता है, लेकिन अब के लिए मैं 3 विकल्प का उपयोग करने के लिए इच्छुक हूँ।
ऐसा करने का पसंदीदा तरीका क्या है?