0

記事に複数のタグ(および複数の記事にタグを付ける)を持つことができるモデルがあります。Articleには、製品とキットの2つのサブクラスがあります。製品にはカテゴリがありますが、キットにはありません。

特定のタグ(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 に答える