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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“$ rails generate model Model”在Rails 5中生成了两个模型相关的知识,希望对你有一定的参考价值。

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

但是我想知道这是否对我不知道的应用程序的任何其他部分有任何影响?这是我正在构建的应用程序以及将来仍会添加的更多功能。

答案

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

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

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

以上是关于“$ rails generate model Model”在Rails 5中生成了两个模型的主要内容,如果未能解决你的问题,请参考以下文章