Мы знаем, что Rails 5 добавил ApplicationRecord
как абстрактный класс, который был унаследован нашими моделями (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
. Но мы также можем достичь этого в Rails 4:
ActiveRecord::Base.include(MyFeatures)
Итак, в чем преимущество использования ApplicationRecord
, как вы думаете, нужно добавить ApplicationRecord
?