मैंने सोचा था किरूबी या रेल में, कभी-कभी वर्ग के अंदर और कभी-कभी कक्षा के बाहर "शामिल" क्यों होता है?
class ApplicationController < ActionController::Base
include Foo
एक "mixin" जोड़ने के लिए है - ताकि फू मॉड्यूल में सभी तरीकों ApplicationController के तरीके के रूप में माना जाता है।
लेकिन अब मैं देख रहा हूँ कोड है कि है
include Bar
class ApplicationController < ActionController::Base
include Foo
तो क्यों यह ApplicationController
के बाहर है? ApplicationController
के अंदर डालने के अधिक सामान्य उपयोग से यह अलग कैसे है?
'बार में शामिल करें' इस तरह की एक हानिकारक त्रुटि है - यह 'एप्लिकेशन कंट्रोलर' को जिस तरीके से आप चाहते हैं उसे बदल देगा, लेकिन एप्लिकेशन में हर दूसरी वस्तु को भी बदल देगा। –