2010-06-01 84 views
0

我有两个简单的模型,每个都有acts_as_tree,比如说部门和雇员。 我的目标是创建一个TreeView这两款车型在组合成一个整体的树,像这样:如何在一个RoR中结合两个模型acts_as_tree树视图?

  • 部1
    • SUBDEPARTMENT 1.1
      • 员工A
      • 员工B
    • SubDepartment 1.2
  • 部2
    • SUBDEPARTMENT 2.1
      • 雇员Ç
  • 部3
    • SUBDEPARTMENT 3.1
      • 员工d
      • 员工Ë
    • SUBDEPARTMENT 3.2

我发现这已经:Acts as Tree with Multiple Models但我怕,我可以用多一点的指针正确的方向。

谢谢!

回答

0

所以你的模式是这样的?

Department 
    acts_as_tree #requires departments.parent_id field 
    has_many :employees 

Employee 
    belongs_to :department #requires employees.department_id field 

我只是坚持这一点,而不是试图让树“知道”员工。有树关系的唯一的东西是部门。员工属于一个部门,但他们不是树结构的一部分。

就编辑过程而言,当您更改部门时,您将parent_id设置为树中其父项的标识,而当您移动员工时,将department_id设置为其“父”的标识。

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

+0

我想要做的是从部门和员工创建树状视图。不仅来自部门或员工。所以这两个模型必须合并成一棵大树。事实上,我确实有一个设置,你在你的答案建议,但我不知道如何扩大它两个结合了两个模型。 感谢您的帮助! – Menno 2010-06-02 12:49:05

+0

因此,员工可以成为许多部门的家长? – 2010-06-03 09:15:13

相关问题