我使用group_by_day來生成Chartkick的圖表。Rails 4:group_by_day和總和
E.g.我可以顯示一個圖表,顯示每天總訂單數:
<%= line_chart Order.all.group_by_day(:created_at).count %>
我也希望有圖表,顯示每天的總訂單量(amount_gross)。這裏的問題是,amount_gross
不是實際數據庫中的列,而是一個取決於增值稅的計算字段。
型號Order.rb
def amount_gross
if vat
amount_net * 1.1
else
amount_net
end
通常情況下,我會得到這樣sum = Orders.all.map(&:amount_gross).sum
然而總和,我不知道我怎麼能與group_by_date
我這樣做嘗試Order.group_by_day(:created_at).map(&:amount_gross).sum
但它引發異常。
不Order.group_by_day(:created_at )以相同的方式返回一個散列ruby的group_by會? –
orders.group_by {| t | t.created_at.beginning_of_day} –
因爲'measure'是DB中的一個字段,所以我用'= line_chart @ data.group_by_day(:created_at).sum(:measure)'得到了它。 – Chloe