通过联想有很多
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