2016-07-22 41 views
0

我在我的項目中有一個儀表板,我想要顯示項目中的所有標記以及這些標記已被使用的次數。對於標記,我在Post模型上使用ActsAsTaggableOn gem。如何計算使用ActsAsTaggableOn rails的標記已被使用的次數

我現在有一個變量,它是用我自己tagscontroller最常用的標籤:

def index 
    @tags = ActsAsTaggableOn::Tag.all.most_used 
end 

而且我能找到的標籤一定後有通過進入到軌道控制檯和運行

post = Post.first 
post.tag_counts_on(:tags).count 

但是我無法弄清楚如何返回每個標籤在我的Post模型上被使用的次數。

編輯:

感謝Sam的回答下面我設法找到在標籤模式,我想從(使用調試控制檯)調用列。要調用的時間每個標籤已被使用,我做了量:

@tags = ActsAsTaggableOn::Tag.all 

在我的標籤控制器和

<% @tags.each do |tag| %> 
    <%= tag.name %><%= tag.taggings_count %> 
<% end %> 

在我看來。

+0

'Post.all.tag_counts_on(:tags).size'? – MMachinegun

+0

這將帶回我已有的標籤總數,我試圖顯示每個單獨標籤已被使用的次數 – Rixcy

回答

1

根據thisthis,你應該能夠:

Post.tag_counts 

鑑於:tags是你的Post模型中使用的 「上下文」。

+0

將其分配給我的標籤控制器索引操作中的變量時(\t \t @post = Post.tag_counts )並確保上下文是Post模型中的標籤(acts_as_taggable,與acts_as_taggable_on:tags相同)我在索引文件中調用變量,併爲每個標籤獲取'#' – Rixcy

+0

這應該是正確的。現在您可以遍歷並查看標記爲帖子的每個Tag的數量。在您的控制器中嘗試'logger.debug(Post.tag_counts.to_a)'並檢查開發日誌。 –

+0

對不起,我可能在這一點上太新手了,我在我的tagscontroller的索引操作中的當前變量下添加了logger.debug行,但是如何查看日誌?我正在通過http://guides.rubyonrails.org/debugging_rails_applications.html進行檢查,但無法弄清楚如何查看日誌,我只是在索引頁中執行<%= debug @posts%>或者?編輯 - 想出如何顯示日誌,只是想通過它看:) – Rixcy

相關問題