【问题标题】:How to combine two models in one RoR acts_as_tree treeview?如何在一个 RoRacts_as_tree 树视图中组合两个模型?
【发布时间】:2010-06-01 13:43:21
【问题描述】:

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

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

我已经找到了这个:Acts as Tree with Multiple Models,但恐怕我可以在正确的方向上使用更多的指针。

谢谢!

【问题讨论】:

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


    【解决方案1】:

    所以你的架构是这样的?

    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。

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

    【讨论】:

    • 我要做的是创建一个从部门和员工建立的树视图。不仅来自部门或员工。所以这两个模型必须合并在一棵大树中。确实,我确实有您在回答中建议的设置,但我不知道如何扩展它,将两个模型结合起来。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 2015-10-19
    • 2019-11-14
    • 2021-12-17
    相关资源
    最近更新 更多