Rails belongs_to和has_many foreign_key relationship

时间:2015-09-09 10:45:30

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

我需要一点帮助......我有这些关系......用户属于部门,部门有经理,经理(用户)可以有很多管理部门。

我正处于其中的一天,我不能为我的生活找出要放在User模型中的内容来定义关系中的'has_many:managed_departments'部分。

class Department < ActiveRecord::Base
  has_many :users
  belongs_to :manager, foreign_key: "manager_id", class_name: "User"
end

用户

class User < ActiveRecord::Base
  belongs_to :department
  # has_many :managed_departments
end

这有效:Department.last.manager返回:

=> #<User id: 2, etc...

我对User模型中的内容有一个思路。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以使用与class_name模型

中使用的Department选项相同的选项
#user.rb
class User < ActiveRecord::Base
  belongs_to :department
  has_many :managed_departments, class_name: "Department", foreign_key: "manager_id"
end