我有两个具有以下关联的类:

class Incident
  has_one :assignee
  has_one :technician

class User
  has_many :incidents


请注意,受让人和技术人员字段引用用户类型的对象。这些关系应如何在模型中显示?

最佳答案

假定事件应该属于受让人和技术人员,因为持有这些关系的外键将在事件表中,而不是在雇员表中

类事件
纯属_to:assignee,:class_name =>'用户'
当属:技术员,:class_name =>'用户'

类用户
has_many:assigned_incidents,:class_name =>'事件',:foreign_key =>'assignee_id'

#不确定要用于此关系的措辞
has_many:technician_incidents,:class_name =>'事件',:foreign_key =>'technician_id'


您希望外键字段为incidents.assignee_idincidents.technician_id

07-24 17:43