2012-05-21 14 views
7

मैं चालान की एक सूची है पर एक विशिष्ट विशेषता योग ...रेल। एक संग्रह

@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 संग्रह में कुल योग कैसे प्राप्त कर सकता हूं?

मैं जानता हूँ कि मैं इस तरह ध्यान में रखते हुए यह कर सकते हैं ...

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

लेकिन अगर यह कर का एक और अधिक Railsy तरीका है मैं सोच रहा हूँ।

+0

मैं सक्रिय रिकॉर्ड का उपयोग – leonel

+0

तुम कभी नहीं, एक दृश्य में इस तरह कोड लिखना चाहिए सहायक की या मॉडल (अपनी प्रकृति के आधार पर) किसी भी तर्क चलते हैं। – tokland

उत्तर

19

यहाँ एक रेल तरीका है, ActiveRecord के sum विधि का उपयोग कर:

@invoices_1_week.sum("total") 

Here डॉक्स कर रहे हैं।

+0

संग्रह में शून्य या शून्य मूल्यों के लिए आप कैसे अनुमति देते हैं? –

संबंधित मुद्दे