2014-03-06 33 views
1

如果我有一個循環,每個記錄有一個「金額」字段。我希望能夠做到這一點...Rails 3 - 在視圖中循環 - 總結變量?

<% @expense_list.each do |expense_item| %> 

<% @total = @total + expense_item.amount %> 
<% end %> 

<%= @total %> 

但是我得到這個錯誤

undefined method `+' for nil:NilClass 

回答

1

這可能是因爲@totalnil。您需要each塊之前將其設置爲初始數字:

@total = 0 

但是,如果你想要做的是總結的@expense_list量,你可以使用sum方法太:

@expense_list.sum(&:amount) 
+0

我曾嘗試過,.sum方法,但我一直在犯錯誤,我唯一沒做的事情就是把&放進去,那是什麼意思? – Atari2600

+0

@JasonB它使用'Symbol#to_proc'。下面是關於它如何工作的解釋:http://iain.nl/going-crazy-with-to_proc – htanata