目前,我已经创建了一个组织结构,但它的一些“孩子”需要一个多父母。这是我目前的血统,我已经将它实施到了OrgChart
我的目标与此类似:
我使用了祖先宝石,但我有点困惑如何使用该宝石创建多个父级。我真的很感激任何建议或建议
使用外键ancestry
存储节点A的parent_id
gem与节点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
希望能帮助到你。