您将如何处理以下关系?我是ActiveRecord的新手。
我有两个名为Employee和Project的模型。 每个项目都有一个经理和一个所有者,两者都是员工。
所以在projects表中我想要两个名为manager_id和owner_id的外键,两者都指向employees表。 然后,我想按如下方式访问经理和所有者:
@project.manager.name
@project.owner.name
我在Project模型上尝试了以下内容:
class Project < ActiveRecord::Base
has_one :manager, :foreign_key => "manager_id", :class_name => "Employee"
has_one :owner, :foreign_key => "owner_id", :class_name => "Employee"
end
但这导致rails在employees表上查找名为'manager_id'的列,这没有意义。 我知道我可以使用belongs_to并以相反的方式指定它(从员工到项目),但这似乎是倒退的,因为员工模型不应该知道与项目的关系。每个项目都指向2名员工,而不是相反。
这样做的正确方法是什么?
由于