Wow!Thanks so much to both of you, that works great for me!
It also helped me to understand just how powerful the model can be.
arcX


2009/5/14 Colin Law <[email protected]>

> 2009/5/13 Robert Walker <[email protected]>
>
>>
>> Colin Law wrote:
>> > If I have understood the problem correctly I think the first thing I
>> > would
>> > do is provide a method in model Task called duration that returns the
>> > total
>> > duration for that task by summing task.entries.time.  Then all you need
>> > to
>> > pass to the report view is @tasks containing the tasks you are
>> > interested in
>> > and for each one task.duration is available to be displayed as desired.
>>
>> Rails also provides aggregate functions so rather than writing a
>> duration method you could also write:
>> task = Task.find(:first)
>> task.entries.sum(:time)
>
>
> I would still suggest having a duration method, where the method just
> returns entries.sum(:time), as it removes the requirement that the caller
> needs to know that how to work out the duration.
>
>
>>
>>
>> Line 2 generates the following SQL:
>> SELECT sum("entries".time) AS sum_time FROM "entries" WHERE
>> ("entries".task_id = 1)
>> --
>> Posted via http://www.ruby-forum.com/.
>>
>>
>>
>
> >
>


-- 
Aim:
arcxweb

Skype:
alexscott1

--~--~---------~--~----~------------~-------~--~----~
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