通過聯想有很多

has_many :through 關聯通常用於與另一個模型建立 many-to-many 連線。該關聯表明通過繼續第三模型,宣告模型可以與另一模型的零個或多個例項匹配。

例如,考慮患者預約看醫生的醫療實踐。相關的協會宣告可能如下所示:

class Physician < ApplicationRecord
  has_many :appointments
  has_many :patients, through: :appointments
end

class Appointment < ApplicationRecord
  belongs_to :physician
  belongs_to :patient
end

class Patient < ApplicationRecord
  has_many :appointments
  has_many :physicians, through: :appointments
end