Создать график, накапливающий данные с течением времени - ruby ​​on rails - PullRequest
0 голосов
/ 01 ноября 2011

Я хочу создать график, например «количество накопленных лайков за время» в ruby ​​на рельсах.Мне нужно сделать что-то вроде получения базовых лайков:

base_likes = Like.find :all, :conditions => ["created_at < ?", from_date]

и получить количество лайков в день в массиве:

[3, 0, 10, 12, 0, 24]

И затем просмотреть количество лайков в день, включаябаза любит получать массив вроде:

[3, 3, 13, 25, 25, 49]

Интересно, был ли магический рубиновый путь?!

Спасибо, A

1 Ответ

1 голос
/ 01 ноября 2011

Чтобы получить информацию из базы данных, я бы отправился сначала:

hash = Like.count(:group => "date(created_at)")

Но это обеспечит только те дни, когда здесь были подобные лайки, поэтому заполнение пробелов может быть затруднительным.

В противном случае, смотря сюда , вы можете создать свой массив лайков в день.

Затем, чтобы получить совокупные лайки, я бы сделал:

ary = [3, 0, 10, 12, 0, 24]
ary.each_with_index.map {|e,i| ary[0..i].inject(&:+)}
...