chartkickを使用してデータを視覚化するのが好きです。多くの購入を含む購入モデルがあります。
class Purchase < ActiveRecord::Base
attr_accessible :category, :price, :product, :purchase_type
def invert_price
self.price.abs
end
end
標準的なチャートは次のようになります。
<%= bar_chart Purchase.group(:category).sum(:price) %>
しかし、私の :price レコードはマイナスです。逆価格 (-price) または価格の絶対値 (price.abs) を取得する方法が必要なだけです。
Purchase モデルでメソッドを作成しようとしても、SQL クエリで解決できないため、機能しません。
class Purchase < ActiveRecord::Base
attr_accessible :category, :price, :product, :purchase_type
def invert_price
self.price.abs
end
def invert_price
self.price.abs
end
end
エラー:
Mysql2::Error: Unknown column 'invert_price' in 'field list
独自の SQL クエリを作成すると正しい結果が返される可能性がありますが、chartkick はその後空でした。
<%= bar_chart Purchase.select("ABS(SUM(`candystore_purchases`.`price`)) AS sum_price, category AS category").group(:category) %>
これを処理する方法はありますか?