2014-01-26 114 views
1

如果我正在爲這個問題扭曲幹坤,請道歉。但是,我有以下的代碼,並希望有它的總和,而不是兩個獨立的數字:如何總結計數列表

<% @all_users.each do |i| %> 
     <%= i.liked_recipes.count %> 
    <% end %> 

此代碼的輸出如下:

12 4 

我想輸出到是將總和:

16 

回答

2

另外:

<%= @all_users.sum { |u| u.liked_recipes.count } %> 
+0

非常好,謝謝! – MikeHolford

1

你需要一些方法來跟蹤計數:

<% total = 0 %> 
<% @all_users.each do |i| %> 
    <% total += i.liked_recipes.count %> 
<% end %> 
<%= total %> 
+0

太棒了!這很好,謝謝你:) – MikeHolford

0

這樣做的一個較短的方式是使用inject

@all_users.inject(0) { |result, i| result + i.liked_recipes.count } 
0

如果@all_users沒有加載除了這些配方計數那麼它可能是最好讓數據庫做計數:

LikedRecipe.where(:user_id => @all_users.select(:id)).count