一对多的Rails关系。是否需要has_many(Rails 5)?

问题描述:

我正尝试在用户和建议之间生成一对多的关系。一个用户可以有很多建议。一对多的Rails关系。是否需要has_many(Rails 5)?

rails g model User 

rails g model Advice user:references 

我注意到,这不会自动生成在user.rb文件中的行has_many :advices。但是,在advice.rb文件中,行belongs_to :user是自动生成的。

在rails控制台中,我仍然可以为一个用户创建多个Advices,而不会出错。

我的问题是,在user.rb文件中是否需要has_many :advices行?如果没有,那么为什么Rails指南会推荐它?

has_many关联告诉Rails对象是相关的,并向查询关联对象的对象添加方法。你可以没有它,但它使事情变得更容易。

见第一章在这里: http://guides.rubyonrails.org/v2.3.11/association_basics.html

另一个参考: https://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many