0
我有expenses
有列::quantity
和unitcost
。总费用金额为:quantity * unit cost
。Rails总和两个值相乘
woassets
have_many :expenses
。
我想在asset
索引列表中显示每个asset
的总数。
这工作:
<% expensetotal = 0 %>
<% woasset.expenses.each do |expense| %>
<% expensetotal = expensetotal + (expense.quantity.to_i * expense.unitcost) %>
<% end %>
<td><%= expensetotal %></td>
但是,有没有更好的办法?
我试图在expense
模型定义expense total
,像这样:
def expense_amount
"#{self.quantity} #{self.unit_price}"
end
那么这个索引:
<%= woasset.expenses.sum(:expense_amount)
但是,没有工作。
感谢您的帮助
会是什么意思总结包含两个数字的字符串?无论如何,为什么不在创建/更新/保存/其他方面填写费用总额? –
您也可以使用聚合函数直接在数据库中执行此操作。你应该研究一下,因为一般来说,让数据库工作然后返回答案比获取数据然后在服务器上完成工作要快。 – MrDanA
这些都是很好的选择 - 谢谢 – Reddirt