0

で計算された値を渡そうとしているこの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 タグの行に到達します。

これらの値をうまく渡す方法はありますか?

4

1 に答える 1

1

RoRデータが文字列の場合は、次のようにする必要があります。

data: ["<%= @nil_ref %>", "<%= @email_ref %>", ...
于 2012-06-26T17:14:50.183 に答える