1

ブログアプリで、記事付きのタグのリストを表示したい。

class Article < AR::B
  has_and_belongs_to_many :tags
end

class Tag < AR::B
  has_and_belongs_to_many :articles
end

タグスコープはどのようになりますか?

Tag.joins(:articles) ... # should return tags associated to at least 1 article
4

1 に答える 1

1

Ruby / Railsでこれを行う1つの方法は、これです。

Tag.includes(:articles).select { |tag| tag.articles.any? }

.includes記事がタグと一緒に読み込まれるようにします。これは、すべてのタグの記事が繰り返されるときに記事を読み込むよりも効率的です。

次に、配列が解析され、記事が関連付けられているもののみが選択されます。

于 2013-03-25T19:40:49.067 に答える