使用 Highcharts 将我的 rails 应用程序发布到 Heroku 时出现错误(错误 14)。在开发中一切正常,并且值不会转换为字符串。
基本上,当我的视图加载到 Heroku 上时,我得到以下代码:
<script type="text/javascript" charset="UTF-8">
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'visualization',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Receipts by Gender'
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: 'Receipts by gender',
data: [["M", "432854518.0"]]
}]
});
});
});
</script>
如果我们查看 series.data,我们会看到 [["M", "432854518.0"]],这就是问题所在。右边的值应该是浮点数或至少是整数。
我的控制器:
@pie_gender_total = Receipt.group_by_gender_pie(current_user, :total)
@pie_gender = @pie_gender_total
我的观点 :
<script type="text/javascript" charset="UTF-8">
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
...
series: [{
...
data: <%=raw @pie_gender %>
}]
});
});
});
</script>
我的模型方法:
def self.group_by_gender_pie(user, dim, begin_date=nil, end_date=nil)
arr=[]
self.group_by_gender(user).each do |item| arr.push([item.gender, dim == :count ? item.number_of_receipts : item.total]) end
arr
end
关于为什么相同的解决方案在开发中有效的任何想法,但对于我的 heroku 环境却不是这样?和解决方法?