0

rubyからjavascriptに2次元配列を渡したい。

私は現在、このIDをビューに持っています:

    <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(<%= @statistics %>);

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

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

@statistics はコントローラーからの 2 次元配列です

4

1 に答える 1

3

お探しの方法は です#to_json

var data = google.visualization.arrayToDataTable(<%= @statistics.to_json %>);

例えば:

[["abc", 123], ["def", 456]].to_json # => [["abc",123],["def",456]]
[[1, 2], [3, 4], [5, 6]].to_json # => [[1,2],[3,4],[5,6]]

変数が単純な 2D 配列でない場合@statisticsは、JSON に出力する前に追加の処理が必要になる場合があります。

于 2013-04-16T22:39:23.673 に答える