Ruby Rails每个循环的总值

时间:2014-01-10 06:56:36

标签: ruby-on-rails

我有一个这样的循环列出所有计数数字,如2,44,11等,我该如何计算总数?

<% @book.each do |book| %>
<div><%= book.count %></div>
<% end %>

谢谢!

4 个答案:

答案 0 :(得分:3)

您可以使用inject汇总count并获取所有图书的总数:

@book.inject(0) { |total, book| total + book.count }

答案 1 :(得分:3)

您可以使用@books.sum,并为每个记录传递一个proc,并返回要添加到总和中的数字。使用Proc#to_sym为您提供了非常简洁的语法:

@books.sum(&:count)

<% @book.each do |book| %>
<div><%= book.count %></div>
<% end %>

Total books: <%= @books.sum(&:count) %>

答案 2 :(得分:2)

@book.collect(&:count).sum

答案 3 :(得分:1)

尝试@books.sum(:count)这将返回你的总和