User.find(:all, :group => :os)
however, the result is an array having only one user for each os group. I'd like to have ALL the users grouped by :os though
One solution is to write
User.find(:all).group_by{|u| u.os}
However, I wonder if it could be done within the "find" method ?
Not really. By definition if you group using the database then you only get back one row for each value of the grouped column - that's just what group does in database and you want something else.
Fred