2016-03-07 48 views
1

我正在用chartkicks創建此列圖。我幾乎卡住了,沒有選擇。在.sum方法中乘上符號Rails給出錯誤

<div class="col-md-3 chart-box"> 
     <%= column_chart current_user.transports.map{|t| 
     { name: "Co2 flight", data: current_user.transports.group_by_year(:created_at).sum(:transport_flight_km) }} %> 
       </div> 

的問題是,我要乘的

:transport_flight_km 

總和與

* 0.1404 

並顯示爲一列,現在(更多將在以後添加)。 我無法進行這種乘法運算,並根據放置我的計算的位置而導致各種錯誤。

,如果我不喜歡這樣

<%= column_chart current_user.transports.map{|t| 
     { name: "Co2 flight", data: current_user.transports.group_by_year(:created_at).sum(:transport_flight_km * 0.1404) }} %> 

Rails的把我這個錯誤,這是有意義

undefined method `*' for :transport_flight_km:Symbol 

如果我不喜歡這樣寫道:

<%= column_chart current_user.transports.map{|t| 
     { name: "Co2 flight", data: current_user.transports.group_by_year(:created_at).sum(0.1404 * :transport_flight_km)}} %> 

Rails的給我這個錯誤

:transport_flight_km can't be coerced into Float 

如果我不喜歡這樣

<%= column_chart current_user.transports.map{|t| 
     { name: "Co2 flight", data: current_user.transports.group_by_year(:created_at).sum("0.1404" * :transport_flight_km)}} %> 

我得到這個錯誤:

no implicit conversion of Symbol into Integer 

誰能告訴我如何在這行代碼進行這樣的計算?

在此先感謝 大地

+0

調用返回一個數值,而不是使用該符號的方法。你不能乘以一個符號。 – toddmetheny

回答

3

只是使它成爲一個字符串:

.sum("transport_flight_km * 0.1404") 
+1

OMG ...這太棒了,簡單,我應該有這個數字:)謝謝@smathy – DaudiHell

+1

不客氣。 – smathy

相關問題