通過聯想有很多
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