轨道&x2B;Javascript+;图形-Javascript不';如果我使用一个变量,它将不起作用

轨道&x2B;Javascript+;图形-Javascript不';如果我使用一个变量,它将不起作用,javascript,ruby-on-rails,ruby-on-rails-3,Javascript,Ruby On Rails,Ruby On Rails 3,我正在使用谷歌图表在我的rails应用程序中显示一些图表 我在互联网上得到了一个代码示例,我正在我的应用程序中测试,但我有一些配音,我不知道为什么它不起作用 在一个视图中,我将此代码放在下面: <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function dr

我正在使用谷歌图表在我的rails应用程序中显示一些图表

我在互联网上得到了一个代码示例,我正在我的应用程序中测试,但我有一些配音,我不知道为什么它不起作用

在一个视图中,我将此代码放在下面:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Sleep',    7]
    ]);

    var options = {
      title: 'My Daily Activities'
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“任务”,“每天工作小时数”],
[Work',11],
[Eat',2],
[‘通勤’,2],
[“看电视”,2],
[Sleep',7]
]);
变量选项={
标题:“我的日常活动”
};
var chart=new google.visualization.PieChart(document.getElementById('PieChart');
图表绘制(数据、选项);
}


这正确地显示了图形,但如果我传递了一个变量,则不起作用,如下所示:

<% @test = [
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Sleep',    7]
    ] %>

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable(<%= @test %>);

    var options = {
      title: 'My Daily Activities'
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable();
变量选项={
标题:“我的日常活动”
};
var chart=new google.visualization.PieChart(document.getElementById('PieChart');
图表绘制(数据、选项);
}


这个代码没有显示任何内容,为什么

Ps1:对不起,我还在学英语=]

这个-

<% @test = [
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ] %>

只需将文本输出到html中

如果变量来自控制器,则

<script type="text/javascript">
      var test = <%= @test %>
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable(test);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(data, options);
      }
    </script>

var测试=
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable(测试);
变量选项={
标题:“我的日常活动”
};
var chart=new google.visualization.PieChart(document.getElementById('PieChart');
图表绘制(数据、选项);
}
<% @test = [
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ] %>
<script type="text/javascript">
      var test = <%= @test %>
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable(test);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(data, options);
      }
    </script>