简体   繁体   English

Ruby Rails每个循环的总价值

[英]Ruby Rails total value of loop each

I have a loop like this listing all count numbers like 2,44,11 etc., how do I calculate total number? 我有一个像这样的循环,列出了所有计数数字,例如2,44,11等,如何计算总数?

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

Thanks! 谢谢!

您可以使用inject来累加count并获得所有书籍的总数:

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

You can use @books.sum , and pass it a proc which is invoked for each record, returning the number you want to add to the sum. 您可以使用@books.sum ,并将为每个记录调用的proc传递给它,并向您的总数返回要添加的数字。 Using Proc#to_sym gives you a very succinct syntax: 使用Proc#to_sym使您的语法非常简洁:

@books.sum(&:count)

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

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM