Rails 5'in ApplicationRecord
modelimizi (ActiveRecord) devraldığı soyut bir sınıf olarak eklediğini biliyoruz.Neden Raylar 5 ActiveRecord :: Base yerine ApplicationRecord kullanır?
Ancak, temel olarak, ApplicationRecord ile yaptığımız her teknik gereksinimi, ActiveRecord::Base
ile de yapabiliriz. Örneğin:
module MyFeatures
def do_something
puts "Doing something"
end
end
class ApplicationRecord < ActiveRecord::Base
include MyFeatures
self.abstract_class = true
end
Yani artık her modeli
MyFeatures
davranışlarını eklenecektir. Ama aynı zamanda Raylar 4'te bunu başarabilirsiniz:
ActiveRecord::Base.include(MyFeatures)
Yani ApplicationRecord
kullanmanın faydası nedir, bunu ApplicationRecord
eklemek gerekli olduğunu düşünüyorsunuz?
'ActiveRecord :: Base' uzatan her bir mücevher, bunun sonucunda kırılacak mı?Eğer öyleyse, devasa bir miktar bakım ve teknik borç oluşuyor. – Kelseydh