0
在Rails應用程序中,我有一個User模型和Posts模型。如何創建記錄計數數組,按月分組並保持性能?
我有一個:post_rate
方法
def self.post_rate(month_start, month_end)
where('created_at >= ? AND <= ?', month_start, month_end).map { |p| p.created_at.beginning_of_day }.uniq.size.to_f/(month_start - month_end).to_f
end
這說明天張貼在給定的時間內用戶的百分比。
在用戶展示頁面上我想按月顯示用戶發佈頻率的摘要。我需要一個看起來像這樣的數組:
['Month', 'Frequency'],
['Jan', 0.1],
['Feb', 0.5],
['Mar', 0.9],
etc..
(需要標籤和標題)。
我該如何做到這一點?
我需要考慮哪些性能考慮事項?
感謝
謝謝邁克爾,那是一個很好的開始。幾個問題。我如何確保所有月份都包含在數組中,即使他們沒有記錄。我怎麼能把結果大小除以天數?例如,如果查詢1年,March應該除以31,如果查詢兩年,則應該除以62等。感謝您的幫助! –
這些是你必須要做的第一行結果。您也可以考慮更改'to_char'函數的參數來傳遞數字月份。這將使得生成的哈希更容易操作;然後您可以創建一個新的散列,以字「月」作爲關鍵字。 –
太好了,謝謝!我會試驗 –