如何在一个RoR acts_as_tree树视图中组合两个模型?

时间:2010-06-01 13:43:21

标签: ruby-on-rails polymorphic-associations acts-as-tree

我有两个简单的模型,每个模型都有acts_as_tree,比如Departments和Employees。 我的目标是创建一个树形视图,将两个模型组合到一个整体树中,如下所示:

  • 部门1
    • SubDepartment 1.1
      • 员工A
      • 员工B
    • SubDepartment 1.2
  • 部门2
    • 分部2.1
      • 员工C
  • 部门3
    • 子部门3.1
      • 员工D
      • 员工E
    • Subdepartment 3.2

我已经发现了这个:Acts as Tree with Multiple Models但是我担心我可以在正确的方向上使用更多的指针。

谢谢!

1 个答案:

答案 0 :(得分:0)

所以你的架构是这样的吗?

Department
  acts_as_tree  #requires departments.parent_id field
  has_many :employees

Employee
  belongs_to :department #requires employees.department_id field

我会坚持这一点,而不是试图让树'了解'员工。唯一具有树关系的是部门。员工属于某个部门,但他们不属于树状结构。

就编辑而言,当您更改部门时,您将parent_id设置为树中其父级的ID,并且当您移动员工时,您将department_id设置为其“父级”的ID。

你的实际问题是什么?我的意思是你想做什么?