2011-11-01 34 views
0

我想創建一個圖形,例如「在一段時間內累積喜歡的數量」。我需要做的是這樣獲得的基礎喜歡:隨着時間的推移創建一個累積數據的圖形 - 軌道上的紅寶石

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

並獲得陣列每天喜歡的數量:

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

然後遍歷數每天包括基礎喜歡喜歡得到一個像這樣的陣列:

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

我想知道是否有魔法紅寶石的方式?!

感謝, 一個

回答

1

要檢索數據庫的信息,我會先前往:

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

但這將只提供天凡在這裏一直很喜歡所以它可能是一個痛苦填補空白。

否則,looking here,你可以創建你每天喜歡的數組。

然後獲得累計喜歡,我會做:

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

似乎@Alex已經與零的數組。做'x = 0是不是更簡單? ary.map {| i | x + = i}'? –

+1

@m_x:是的你說得對! :) – apneadiving

+0

嘿,是的,我已經有0s :)謝謝你們!作品! –