2010-08-23 7 views
43

मैं सोच रहा था कि किसी को "सामान्य" तरीका बनाने के बजाय, एक सहायक विधि बनाने के लिए एक नियंत्रक के अंदर helper_method का उपयोग क्यों करना चाहिए, जो सहायक फ़ाइल के अंदर है। उस के पेशेवरों और विपक्ष क्या हैं?नियंत्रक helper_method

उत्तर

81

helper_method उपयोगी है जब कार्यक्षमता कुछ ऐसा है जो नियंत्रक और दृश्य दोनों के बीच उपयोग किया जाता है। एक अच्छा उदाहरण current_user जैसा कुछ है।

यदि विधि नियंत्रक तर्क के साथ अधिक काम करता है और प्रारूपण नहीं करता है तो यह नियंत्रक में आता है। current_user जैसे कुछ सभी नियंत्रकों के बीच साझा किए जाएंगे, इसलिए इसे ApplicationController में परिभाषित किया जाना चाहिए।

सही "सहायक" विधियां दृश्य के साथ सौदा करती हैं और फ़ॉर्मेटिंग और टेम्पलेट तर्क जैसी चीजों को संभालती हैं। इन्हें कंट्रोलर में शायद ही कभी जरूरी है और वे ऐप/हेल्पर्स के तहत अपने मॉड्यूल में हैं। आवश्यकता होने पर आप इन्हें अपने नियंत्रक में शामिल कर सकते हैं, लेकिन आप अपने नियंत्रक के लिए उपलब्ध संपूर्ण सहायक मॉड्यूल के संपूर्ण मॉड्यूल के साथ समाप्त हो जाते हैं।

14

नियंत्रक के बीच तरीकों को साझा करने और देखने के लिए आप कई विकल्प हैं:

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