2013-03-25 57 views
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 

回答

1

用Ruby/Rails做到這一點的一種方法就是這個。

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

.includes可以確保物品裝載標籤旁邊,這是比加載它們當每個標籤的物品被重複時更有效。

然後解析該數組以僅選擇與文章關聯的數組。

+0

謝謝@ thomas-klemm正是我所需要的。 – olimart 2013-03-25 21:21:55

+0

不客氣:--D – 2013-03-25 21:27:20