I read in the Rails 3 Way book that when using select(), you can, in addition to adding calculated columns (i.g. using sql aggregate functions), include additional attributes in resulting object by passing the wild card like this: Unit.select(:*,"sum(unit_type_id) as total").group("created_at").having(["created_at > ?", 2.days.ago]) That should give you the new method "total" in addition to the default attributes of the object. However, when I do it, I get this: ArgumentError: wrong number of arguments (2 for 1) It appears the select method not accepting multiple parameters? -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
John Merlino wrote in post #1060601:> I read in the Rails 3 Way book that when using select(), you can, in > addition to adding calculated columns (i.g. using sql aggregate > functions), include additional attributes in resulting object by > passing the wild card like this: > > Unit.select(:*,"sum(unit_type_id) as > total").group("created_at").having(["created_at > ?", 2.days.ago]) > > That should give you the new method "total" in addition to the default > attributes of the object. However, when I do it, I get this: > > ArgumentError: wrong number of arguments (2 for 1)As far as I can tell from the docs Model.select takes one argument in all forms: http://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-select So that error makes sense as far as I can tell. -- Posted via http://www.ruby-forum.com/. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Robert Walker wrote in post #1060823:>> Unit.select(:*,"sum(unit_type_id) as >> total").group("created_at").having(["created_at > ?", 2.days.ago])Maybe you meant this: Unit.select([ :*, "sum(unit_type_id) as total" ]).group("created_at").having(["created_at > ?", 2.days.ago]) The one argument can be an array, which would be the common case. -- Posted via http://www.ruby-forum.com/. -- 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.