我如何定义员工拥有经理的关系,以及潜在的一些下属(所有这些都是员工模型的例子)?到目前为止,我的尝试导致任何一个人最多只有一个下属。
has_one :manager, :class_name => Employee, :foreign_key => "manager"
has_many :subordinates, :class_name => Employee, :foreign_key => "manager"
我觉得这个显而易见,但是我头撞墙的所有事情都让人感到困难。
答案 0 :(得分:5)
试试这个:
class Employee
belongs_to :manager, :class_name => 'Employee', :inverse_of => :subordinates
has_many :subordinates, :class_name => 'Employee', :inverse_of => :manager
end