Rails:从has-many关联中获取所有关联模型

时间:2013-05-14 19:25:08

标签: ruby-on-rails many-to-many associations

我需要从其他关联模型中获取所有关联模型,我希望首先运行查询。

例如,我有Post模型和Tag模型。我需要获得与一些标签相关的所有帖子。 没有问题,如果我只有一个标签 - 只需要调用'tag.posts',但如果我有更多,那么一个标签 - 例如,我需要做一些事情,如:

Post.where(id: PostTag.where(tag_id: some_ids).pluck(:category_id).uniq)

我相信Rails有一个内置的解决方案。那么,谁知道呢?

1 个答案:

答案 0 :(得分:0)

我的想法是:

Post.joins(:post_tags).where('post_tags.tag_id' => some_ids).uniq

您可以将其作为更容易重用的范围。我不认为有这种情况的内置方法。