gpt4 book ai didi

ruby-on-rails - 作为具有多个模型的树

转载 作者:行者123 更新时间:2023-12-04 06:59:12 24 4
gpt4 key购买 nike

我有几个模型,我想将它们按层次联系在一起。为简单起见,假设我有这三个:

class Group < ActiveRecord::Base
acts_as_tree
has_many :users
end

class User < ActiveRecord::Base
acts_as_tree
belongs_to :group
has_many :posts
end

class Post < ActiveRecord::Base
acts_as_tree
belongs_to :user
end

在当前的acts_as_tree 下,每个节点都可以单独地与其他节点进行分层关联,前提是它们是相同的类型。我想要的是取消对类型标识的这种限制,以便 SomePost.parent 可以将 User 或 Post 作为其父级,而 SomeUser.parent 可以将另一个用户或组作为其父级。

有什么想法吗?

最佳答案

我过去这样做的方法是使用位于树中的多态容器,映射到特定的单个模型。

class Container < ActiveRecord::Base
acts_as_tree
belongs_to :containable, :polymorphic => true
end

class User
has_one :container :as => :containable
end

关于ruby-on-rails - 作为具有多个模型的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2142285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com