Ok, I moved the return @total after the "end", and now I get the
following:

2008-12-03      test    17.98   191.72
2008-12-03      test    0.57            191.72
2008-12-03      test    19.04   191.72

(there are more rows, I just cut it to three for the example)
So, the total works, but it doesn't increment the total after every
row. I seem to get either the first amount, or the sum.


On Jan 22, 11:14 am, Norm <[email protected]> wrote:
> denied39 wrote:
> > Ok, so I'm really new to Ruby and Rails. I'm trying to create a home
> > budget app, and I'm having some difficulties getting a running total
> > working. I have the following code in my model:
> >  def running_total
> >       @total = 0.0
> >       @transactions = Transaction.find(:all, :conditions =>
> > ["category_id=?", category.id])
> >       @transactions.each do |transaction|
> >         @total += transaction.amount.to_f
> >         return @total
> >       end
> >  end
>
> > What happens is I get the first expense amount, but it repeats for
> > every row in the table.
> > Date               Payee   Amount          Total
> > 2008-12-03         test            17.98    17.98
> > 2008-12-03         test            0.57             17.98
> > 2008-12-03         test            19.04    17.98
>
> > This is my first app with Rails, so I'm not sure everything is in the
> > right place. I created a Ruby script that contains the following:
> > result = dbh.query("select amount from transactions where category_id
> > = 6")
> >  test = 0.0
> >  result.each do |row|
> >    test += row[0].to_f
> >    puts test
> >  end
>
> > The script works like it should, it increments the total after every
> > pass. Not sure what I'm doing wrong with the Rails portion. Any help
> > would be great. If you need me to post any more detail, just let me
> > know.
>
> Your loop ends with the "return @total" instead of totaling the
> transactions.  Move the return down to after the end and I think you
> will be happier.
>
> Norm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to