我跑了 $ rails g model Model
并且Rails生成了两个模型如下:
model.rb:
class Event < ApplicationRecord
end
和
application_record.rb:
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
但我在期待
model.rb:
class Model < ActiveRecord::Base
end
所以我来到这里找出原因 . 然后我看到了这个
Why Rails 5 uses ApplicationRecord instead of ActiveRecord::Base?
这意味着它是因为我使用的是Rails版本5 .
我删除了 application_record.rb
并将 model.rb
调整为以下内容:
class Model < ActiveRecord::Base
end
但是我想知道这是否对我不知道的应用程序的任何其他部分有任何影响?这是我正在构建的应用程序以及将来仍会添加的更多功能 .
1 回答
不,实际上不需要层次结构中的
ApplicationRecord
类 . 正如您已经注意到它在Rails早期版本5中不存在 .但它被添加到Rails 5是有充分理由的,因为它有助于改进面向对象和应用程序的体系结构 . 它有助于以
ApplicationController
为控制器执行的方式共享代码 .我会保留它,它可能会让你在将来更容易 .