【发布时间】:2021-01-12 21:56:24
【问题描述】:
我有一个 Active Record 结果数组,我想遍历每条记录以获取特定属性,并将它们全部添加到一行中并进行 nil 检查。这是我到目前为止得到的结果
def total_cost(cost_rec)
total= 0.0
unless cost_rec.nil?
cost_rec.each { |c| total += c.cost }
end
total
end
有没有一种优雅的方法可以在一行中做同样的事情?
【问题讨论】:
-
如果您尝试对列中的值求和,我建议您尝试直接从数据库中获取总和,而不是遍历所有对象。它应该性能更高(在速度和资源方面)
-
目前我必须在数据库之外进行求和,但同意你的看法,如果可以在数据库内完成会更好
标签: ruby-on-rails ruby one-liner