拥有并属于许多协会

has_and_belongs_to_many 关联创建了与另一个模型的直接 many-to-many 连接,没有介入模型。

例如,如果你的应用程序包含 assembliesparts,每个程序集包含许多部件,并且每个部件都出现在许多程序集中,你可以通过这种方式声明模型:

class Assembly < ApplicationRecord
  has_and_belongs_to_many :parts
end

class Part < ApplicationRecord
  has_and_belongs_to_many :assemblies
end