一对多的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