【发布时间】:2017-12-30 06:52:45
【问题描述】:
目前,我已经创建了一个组织结构,但它的一些“孩子”需要多个父母。这是我目前的祖先,我已将其实施到 OrgChart
我的目标与此类似:
我使用过祖先 gem,但我有点困惑如何使用该 gem 创建多个父级。我非常感谢任何建议或建议
【问题讨论】:
标签: javascript ruby-on-rails ancestry
目前,我已经创建了一个组织结构,但它的一些“孩子”需要多个父母。这是我目前的祖先,我已将其实施到 OrgChart
我的目标与此类似:
我使用过祖先 gem,但我有点困惑如何使用该 gem 创建多个父级。我非常感谢任何建议或建议
【问题讨论】:
标签: javascript ruby-on-rails ancestry
使用外键parent_id存储节点A的ancestrygem与节点B有什么样的关系,所以parent_id只能存储1个值
话虽如此,你不能直接让一个节点有多个父节点。
但是,回到您要实现的数据结构,定义似乎并不明确。如果我从您的图表中正确理解,它是:
在这种情况下,您的实际树应该只显示组之间的关系
Group X
↓
Group Y
↓
Group A
↓
Group B
组 B 中的用户定义有来自组 A 的多个父母将变为
Group A has_many: users
Group B has_many: users
所以从现在开始,你的模型会变成
# app/models/user.rb
class User < < ActiveRecord::Base
belongs_to :group
end
# app/models/group.rb
class Group < ActiveRecord::Base
has_ancestry
has_many :users
end
希望对你有帮助。
【讨论】: