Rails外键在模型表中

时间:2013-05-25 10:59:26

标签: ruby-on-rails rails-activerecord

您将如何处理以下关系?我是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名员工,而不是相反。

这样做的正确方法是什么?

由于

0 个答案:

没有答案