Rails Ancestry gem选择子节点的子树中任何节点满足条件的子节点

时间:2019-06-30 17:36:34

标签: ruby-on-rails ancestry

使用Rails Ancestry宝石,我想知道如何选择给定节点的所有直接子节点(例如下面的示例中的parent),其中这些子节点的任何子树节点节点满足条件。

我知道我可以做以下事情:

parent = NodeTree.roots.first
children = parent.children
selected_children = children.reject {|child| !child.subtree.where(valid: 1).exists? }

但是我宁愿在一个ActiveRecord查询中执行此操作,因为在任何给定级别上可能有很多子级,并且我不想为每个子级执行单独的查询。

有什么建议吗?

0 个答案:

没有答案