0

Ancestry gem を使用してツリー階層を作成する Category モデルがあります。モデル関係なら、

Category has_many :posts

カテゴリまたはそのカテゴリの子に属する投稿を返す方法を考えています。category.subtree は ARel オブジェクトを返すので、次のようなことができます。

category.subtree.includes(:posts)

これは投稿をカテゴリ別にマップしますが、投稿だけが必要です。私が考えられる唯一のことは、コレクションを反復処理して、投稿だけの新しいコレクションを作成することです。

4

1 に答える 1

0

試す:

Post.where('category_id in (?)', category.subtree_ids)

subtree_idsがカテゴリ自体のIDも返すかどうかは、現時点では覚えていません。

于 2012-07-15T22:29:42.573 に答える