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