ruby-on-rails - rails 。对集合的特定属性求和

标签 ruby-on-rails ruby

我有一张发票 list ...

@invoices_1_week = Invoice.order("due_date DESC").where("status != 'paid' AND due_date >= ? AND due_date < ?", Date.today, 1.week.from_now)

发票模型有一个总属性。我怎样才能得到@invoice_1_week 集合中的总和?

我知道我可以在这样的 View 中做到这一点......

<% week_1_total = 0 %>
<% @invoices_1_week.each do |invoice| %>
  <% week_1_total = week_1_total + invoice.total %>
<% end %>
<%= week_1_total %>

但我想知道是否有更多的 Railsy 方法来做到这一点。

最佳答案

这是一种 Rails 方法,使用 ActiveRecord 的 sum 方法:

@invoices_1_week.sum("total")

Here是文档。

关于ruby-on-rails - rails 。对集合的特定属性求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692310/

相关文章:

ruby-on-rails - 简单的表格空白标签

ruby-on-rails - 如何一次为 Ruby 中的对象分配多个属性

ruby-on-rails - belongs_to touch : true not fired on association. 构建和嵌套属性赋值

ruby-on-rails - Rails 生成错误 : No such file or directory - getcwd

ruby - 如何在 Ruby::Sequel 中测试非空值?

ruby-on-rails - 没有路由匹配 [GET] "/links/1/like"acts_as_votable

ruby-on-rails - Rails运行多个delay_job-锁定表

ruby - 在二维数组中查找相邻项

ruby - 如何使用 gsub 将字符串中的所有数字转换为十六进制?

ruby - Linux 和 Windows 兼容的文件管理脚本