“$ 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中生成了两个模型的主要内容,如果未能解决你的问题,请参考以下文章