2012-07-15 60 views
0

我有一個類別模型,它使用Ancestry gem創建樹層次結構。如果我有模型關係,ActiveRecord:返回屬於Ancestry nodetree的對象

Category has_many :posts 

我不知道我怎麼能回到屬於類別或類別的兒童崗位。 category.subtree返回AREL對象,所以我可以做這樣的事情:

category.subtree.includes(:posts) 

它通過映射類職位,但我只想要的職位。我能做的唯一事情就是遍歷集合並創建一個新的只發布的集合。

回答

0

嘗試:

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

我不記得的那一刻,如果subtree_ids也將返回類ID本身。

+0

太棒了。這工作!是的,看來subtree_ids也會返回類別本身的id。 – asahi 2012-07-16 14:04:02