0

我有一个模型,其中一篇文章可以有多个标签(以及一个标签多个文章)。文章有两个子类,产品和套件。产品有一个类别,套件没有。

如何获取某个标签(我知道 tag.id)的所有文章(套件和产品),并加载产品的类别(避免 n+1)?

4

1 回答 1

0

假设您的关联已经建立(即标签 has_many :articles 到 article_tags 等),如果您使用的是 Rails 3,则可以在查找时使用#includes。将您的 belongs_to :category 移动到您的 Article 类(是的,这样做在语义上是可以的),然后:

@tag = Tag.first
@tag.articles.includes(:category)

应该管用。

http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations

于 2010-09-15T03:44:12.183 回答