有很多

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