Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 迭代中的数字总和-rails_Mysql_Ruby On Rails_Loops_Sum - Fatal编程技术网

Mysql 迭代中的数字总和-rails

Mysql 迭代中的数字总和-rails,mysql,ruby-on-rails,loops,sum,Mysql,Ruby On Rails,Loops,Sum,我有四个团队,每个团队有四个人,我正在尝试为每个团队创建一个图表,@all根据团队id从团队和团队中选择每个人,所以这个循环将产生4次迭代,我试图用以下方法总结每个团队的目标、预测和实现的数字: <% @all.each do |a| %> <div style="width:100%; height: 900px; overflow: auto;"> <br> <h1> <%= Date.today.strftime("%B")

我有四个团队,每个团队有四个人,我正在尝试为每个团队创建一个图表,
@all
根据团队id从团队和团队中选择每个人,所以这个循环将产生4次迭代,我试图用以下方法总结每个团队的目标、预测和实现的数字:

<% @all.each do |a| %>

<div style="width:100%; height: 900px; overflow: auto;">
<br>
<h1>
    <%= Date.today.strftime("%B")  %>
    Sales : <%= a.team.name %>
</h1>

<canvas id="<%= a.team.name %>" height="800" width="1000"></canvas>

<% @main = Individual.find(:all, :conditions => "team_id = '#{a.team_id}'")%>


<script>
    var target = <%= @main.sum(:target) %>;
    var forecast = <%= @main.sum(:forecast) %>;
    var achieved = <%= @main.sum(:achieved) %>;
    var barChartData = {
        labels : ["Target", "Forecast", "Achieved"],
        datasets : [{
            fillColor : "rgba(237,28,36,1)",
            strokeColor : "rgba(237,28,36,1)",
            data : [target, forecast, achieved]
        }]

    }
    var opt = {
        scaleFontFamily : "'Trebuchet'",
        scaleFontSize : 20,
        scaleFontColor : "#fff",

    }

    var myLine = new Chart(document.getElementById("<%= a.team.name %>").getContext("2d")).Bar(barChartData, opt);

</script>

</div>
<% end %>


出售: “团队id=”{a.team\u id}'”%%> var目标=; var预测=; 风险价值=; var barChartData={ 标签:[“目标”、“预测”、“实现”], 数据集:[{ fillColor:“rgba(237,28,36,1)”, strokeColor:“rgba(237,28,36,1)”, 数据:[目标、预测、实现] }] } 变量opt={ 鳞片家族:“投石机”, scaleFontSize:20, scaleFontColor:#fff“, } var myLine=new Chart(document.getElementById(“”).getContext(“2d”).Bar(barChartData,opt);
但是对于#


如果我分别查看每个单独的数据,它会显示正确的数字,只是不会求和。

您需要传递过程而不是符号,例如,替换:

@main.sum(:target)

考虑nIL值为0:

@main.sum { |el| el.target.to_f } # use to_f or to_i depending on your data


边注,考虑使用在JS中传递数据。

然后我得到这个…code>nil不能强制为Fixnumok,所以有时会有nil值。。。这些字段上没有数字是正常的吗?没问题,我已经将nil值改为零,现在它可以工作了,一旦它们为零,它们就再也不会变回nil了,所以这应该没问题!谢谢
@main.sum { |el| el.target.to_f } # use to_f or to_i depending on your data