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

