@foo = User.group(:created_at).count
даст вам ваших пользователей, сгруппированных по дате их создания.
Как вы упомянули, вы получите хеш {:date => count}
Затем вы можете посмотреть на @foo.values
(чтобы получить массив подсчетов) [25,22,0,4,5]
или перебрать его как
@foos.each_pair do |date, count|
puts "#{date}: #{count}"
end
РЕДАКТИРОВАТЬ Теперь я понимаю, что вы пытались спросить.
Вы могли бы сделать что-то вроде этого
start_date = Date.today - 7.days
end_date = Date.today
@foo = User.group("DATE(created_at)").where(:created_at => start_date..end_date).count
counts = (start_date..end_date).map{ |d| @foo[d] || 0 }