Используйте метод count
в рельсах.
User.count('posts.id', :include => :posts, :group => "users.name")
Вызов возвращает упорядоченный хеш:
#<OrderedHash {"Jeff"=>2, "Mike"=>10, "Jenny"=>1}>
Вы можете преобразовать результат в массив:
User.count('posts.id', :include => :posts, :group => "users.name").to_a
Вызов возвращает массив:
[["Jeff", 2], ["Mike", 10], ["Jenny", 1]]