हम जानते हैं कि रेल 5 ने ApplicationRecord
को एक अमूर्त वर्ग के रूप में जोड़ा जो हमारे मॉडल (ActiveRecord) द्वारा विरासत में मिला था।क्यों Rails 5 ActiveRecord :: बेस के बजाय ApplicationRecord का उपयोग करता है?
लेकिन मूल रूप से, मुझे लगता है कि हम एप्लिकेशन रिकॉर्ड्स के साथ हर तकनीकी आवश्यकता के साथ करते हैं, हम ActiveRecord::Base
के साथ भी कर सकते हैं। उदाहरण के लिए:
module MyFeatures
def do_something
puts "Doing something"
end
end
class ApplicationRecord < ActiveRecord::Base
include MyFeatures
self.abstract_class = true
end
तो अब हर मॉडल MyFeatures
के व्यवहार संलग्न की जाएगी। लेकिन हम भी रेल 4 में इस लक्ष्य को हासिल कर सकते हैं:
ActiveRecord::Base.include(MyFeatures)
तो ApplicationRecord
उपयोग करने का लाभ क्या है, आपको लगता है यह ApplicationRecord
जोड़ने के लिए आवश्यक है?
क्या प्रत्येक एकल मणि जो 'ActiveRecord :: Base' को बढ़ाता है, अब इसके परिणामस्वरूप टूटा जाएगा?यदि ऐसा है तो यह रखरखाव और तकनीकी ऋण की एक बड़ी मात्रा में बनाया जा रहा है। – Kelseydh