我按照http://www.highcharts.com/demo/column-basic/skies中的步骤操作,问题是我的控制器到我的Highchart图形的值显示为空白(未显示我的值)
这是我在控制器中使用的表http://sqlfiddle.com/#!2/b7347/5
|policies|
ID POLICY_NUM DATE_INI CATEGORY_ID
1 1234 2013-01-10 1
2 5678 2013-01-10 2
3 3444 2013-02-10 1
4 4577 2013-02-10 2
|categories|
ID NAME
1 Life
2 Vehicles
这是我的控制器
def report
@jan_life =Policy.find_by_sql("select count(*) as total from policies Inner join categories ON categories.id =category_id WHere category_id = 1 AND date_ini BETWEEN '2013-01-01' AND '2013-01-31'")
@jan_vehi =Policy.find_by_sql("select count(*) as total from policies Inner join categories ON categories.id =category_id WHere category_id = 2 AND date_ini BETWEEN '2013-01-01' AND '2013-01-31'")
@feb_life =Policy.find_by_sql("select count(*) as total from policies Inner join categories ON categories.id =category_id WHere category_id = 1 AND date_ini BETWEEN '2013-02-01' AND '2013-02-28'")
@feb_vehi =Policy.find_by_sql("select count(*) as total from policies Inner join categories ON categories.id =category_id WHere category_id = 2 AND date_ini BETWEEN '2013-02-01' AND '2013-02-28'")
end
这是我的观点
##### To Disable prototype #####
<script type="text/javascript">Array.prototype.reduce = undefined;</script>
##### To show High Chart Code ####
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
##### Values from my controller , actually is working ####
<%= @jan_life[0].try(:total) %> #it shows 1 value according with the info
<%= @jan_vehi[0].try(:total) %> #it shows 1 value according with the info
<%= @feb_life[0].try(:total) %> #it shows 1 value according with the info
<%= @feb_vehi[0].try(:total) %> #it shows 1 value according with the info
#### This code is HighChart image ####
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
<script type="text/javascript">
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Monthly Average Rainfall'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: {
categories: [
'Jan',
'Feb'
]
},
yAxis: {
min: 0,
title: {
text: 'Rainfall (mm)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.0,
borderWidth: 0
}
},
series: [{
name: 'Life',
data: @jan_life[0].try(:total) %>,
} , {
name: 'Vehicles',
data: @feb_life[0].try(:total) %>
}]
});
});
</script>
我做错了什么?显示空白似乎没有通过参数
以下是我应该http://jsfiddle.net/ajEF2/的高级代码视图。
但我不想写这个值,我想用我的控制器中的值来显示我的报告图像
请有人帮我这个吗?
我真的很感激帮助
答案 0 :(得分:1)
夫妻俩:
1。)您是否错过了数据分配中的<%=
:
series: [{
name: 'Life',
data: **<%=** @jan_life[0].try(:total) %>,
} , {
name: 'Vehicles',
data: **<%=** @feb_life[0].try(:total) %>
}]
2。)我已经做了一段时间,但是<%= @feb_life[0].try(:total) %>
不会产生一个值?你最终会得到:
series: [{
name: 'Life',
data: 1
} , {
name: 'Vehicles',
data: 1
}]
data属性必须是数组。尝试:
series: [{
name: 'Life',
data: [<%=@jan_life[0].try(:total) %>] //note the brackets.
} , {
name: 'Vehicles',
data: [<%=@feb_life[0].try(:total) %>]
}]