.sum 方法中的乘法符号 Rails 给出错误

multiply symbol in a .sum method Rails gives errors

我正在使用 chartkicks 创建此柱形图。我几乎陷入困境,别无选择。

<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

暂时将其显示为一栏(稍后会添加更多)。 我无法进行此乘法运算,rails 根据我放置计算的位置向我抛出各种错误。

如果我这样做的话

<%= 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

谁能告诉我如何在这行代码中进行计算?

提前致谢 Daði

把它变成一个字符串:

.sum("transport_flight_km * 0.1404")