一个has_many协会表示与其它模型一个一对多的连接。该关联通常位于belongs_to关联的另一侧。
该关联表明该模型的每个实例具有另一个模型的零个或多个实例。
例如,在包含用户和帖子的应用程序中,可以这样声明用户模型:
class User < ApplicationRecord has_many :posts end
的表格结构Post将与belongs_to示例中的相同。相反,User不需要任何架构更改。
如果要获取的所有已发布帖子的列表User,则可以添加以下内容(即,可以将范围添加到关联对象):
class User < ApplicationRecord has_many :published_posts, -> { where("posts.published IS TRUE") }, class_name: "Post" end