首页 文章

“$ rails generate model Model”在Rails 5中生成了两个模型

提问于
浏览
-1

我跑了 $ 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 回答

  • 2

    不,实际上不需要层次结构中的 ApplicationRecord 类 . 正如您已经注意到它在Rails早期版本5中不存在 .

    但它被添加到Rails 5是有充分理由的,因为它有助于改进面向对象和应用程序的体系结构 . 它有助于以 ApplicationController 为控制器执行的方式共享代码 .

    我会保留它,它可能会让你在将来更容易 .

相关问题