multiple arguments to select

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?

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.

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.