2015-12-16 10 views
6

अभी अभी मैंने रेल में चिंता का उपयोग करना शुरू कर दिया है, लेकिन मुझे संदेह है कि हम चिंताओं के लिए क्यों जाते हैं, क्योंकि हम मॉड्यूल & मिश्रण अवधारणा पर एक ही चीज़ प्राप्त कर सकते हैं। तो कृपया किसी भी बारे में बताएं कि मॉड्यूल का उपयोग करने के बजाय चिंताओं का उपयोग है।रेल में चिंताओं बनाम मॉड्यूल का उपयोग करने के बीच क्या अंतर है?

+8

पर [DOCS] एक नज़र (http://api.rubyonrails.org/classes/ActiveSupport/Concern.html) – Abhi

+0

निर्भरता संकल्प, डॉक्स में उल्लेख किया। –

उत्तर

2

ActiveSupport::Concern आपके मॉड्यूल में कुछ सुविधाजनक विशेषताओं (यानी class_methods) जोड़ता है। आप इसे विस्तारित किए बिना "शुद्ध" रूबी मॉड्यूल का उपयोग कर सकते हैं। अनिवार्य रूप से आप एक मॉड्यूल बनाते हैं जिसे आप कक्षा में मिलाते हैं। इससे कोई फर्क नहीं पड़ता कि यह मॉड्यूल एएस :: कंसर्न बढ़ाता है, तंत्र एक जैसा है।

0

जब आप चिंता में लिखते हैं जिसका मतलब है कि आप एक मॉड्यूल बना रहे हैं। मेरी राय चिंता और मॉड्यूल एक साथ समान है। चिंता कहीं भी मॉडल, नियंत्रक के रूप में दिखाई दे सकती है और यहां आप अपने लिए मॉड्यूल लिख सकते हैं। और सामान्य मॉड्यूल के साथ lib फ़ोल्डर में लिखना है। दोनों को कक्षा में शामिल या विस्तारित तरीके से उपयोग किया जा सकता है।

1

यह अच्छी तरह से यहाँ वर्णित है: http://api.rubyonrails.org/classes/ActiveSupport/Concern.html

संक्षेप में:

  • यह आप अतिरिक्त मॉड्यूल ClassMethods निर्माण के साथ self.included हुक का #included और #class_methods का उपयोग करने के बजाय अनुमति देता है;

  • यह आपको एक दूसरे में शामिल मॉड्यूल के लिए एक बेहतर निर्भरता संकल्प देता है;

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

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