0

我有我的谷歌饼图代码

 <html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <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",     50],
          ["Eat",      20],
          ["Commute",  20],
          ["Watch TV", 5],
          ["Sleep",    5]
        ]);

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

        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

我需要在 ruby​​ 代码中更改它。在@datas 变量中,我有两个字段

@datas.each do |data|
data.name
data.value

它给出了两个值,但我需要按这个顺序编写,这样我的代码才能像

['data.name, data.value]

如何在 google api 格式中更改我的 ruby​​ 代码?我做到了,但我做不到。

4

1 回答 1

1

尝试这个:

@dates.map { |d| [d.name, d.value] }

编辑:javascript代码可能是这样的:

var data = google.visualization.arrayToDataTable(<%= @dates.map { |d| [d.name, d.value] }.inspect %>)
于 2012-12-05T07:17:17.687 回答