如果我正在为此采取行动,请道歉。但我有以下代码,并希望得到它的总和,而不是两个单独的数字:
<% @all_users.each do |i| %>
<%= i.liked_recipes.count %>
<% end %>
此代码的输出如下:
12 4
我想要的输出是总和:
16
答案 0 :(得分:2)
此外:
<%= @all_users.sum { |u| u.liked_recipes.count } %>
答案 1 :(得分:1)
您需要一些方法来跟踪计数:
<% total = 0 %>
<% @all_users.each do |i| %>
<% total += i.liked_recipes.count %>
<% end %>
<%= total %>
答案 2 :(得分:0)
更简单的方法是使用inject
@all_users.inject(0) { |result, i| result + i.liked_recipes.count }
答案 3 :(得分:0)
如果除了这些食谱计数之外没有加载@all_users
,那么最好让数据库进行计数:
LikedRecipe.where(:user_id => @all_users.select(:id)).count