で計算された値を渡そうとしているこのJSハイチャートがありますpages_controller
。グローバル変数とインスタンス変数でこれを試しましたが、どちらもレンダリングでは機能しないようです。値が渡されていないと思います。
私pages_controller
は持っています:
> @nil_ref = (@counts[nil]/total.to_f)*10
> @email_ref = (@counts["email"]/total.to_f)*10
> @cpc_ref = (@counts["cpc"]/total.to_f)*10
> @display_ref = (@counts["display"]/total.to_f)*10
そして、 /public/highcharts.js ファイルには次のものがあります。
var chart1; // globally available
$(document).ready(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'pie'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
},
legend: {
layout: 'vertical',
floating: true,
backgroundColor: '#eeeeee',
align: 'right',
verticalAlign: 'top',
y: 60,
x: -60
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y;
}
},
plotOptions: {
},
series: [{
data: [<%= @nil_ref %>, <%= @email_ref %>, <%= @cpc_ref %>, <%= @display_ref %>] //These need to be global vars
}]
});
});
Chrome で要素を調べるとUncaught SyntaxError: Unexpected token
、JS の Ruby タグの行に到達します。
これらの値をうまく渡す方法はありますか?