找到文章的标签(Find tags with articles)

2019-10-17 21:35发布

在博客软件,我想显示的与文章标签列表。

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

Answer 1:

使用Ruby的一种方式做到这一点/ Rails的将是这一个。

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

.includes可以确保物品装载标签旁边,这是比加载它们当每个标签的物品被重复时更有效。

然后该数组解析,只选择与相关的文章的人。



文章来源: Find tags with articles