在使用上述关系的位置时填充HABTM关系

时间:2018-02-13 10:21:14

标签: ruby-on-rails activerecord has-and-belongs-to-many

假设我有一个拥有并属于许多类别的帖子模型。当我为某个类别(id = 1)提取帖子列表时,我这样做:

posts = Post.includes(:categories).where(categories: { id: 1 })

假设此列表的第一个帖子属于3个类别,但是当我这样做时:

posts.first.categories

...它只显示id = 1的类别。

有没有办法填充所有类别,以便在循环播放帖子时不必执行N + 1?

1 个答案:

答案 0 :(得分:1)

这样做

posts = Category.find(1).posts

现在您拥有该类别中的所有帖子,每个帖子的所有类别都可用。