Как передать массив Ruby в Javascript для построения линейного графика

Я пытаюсь создать веб-страницу для отображения линейных графиков в моем приложении Ruby on Rails 2.3.14. Я нашел инструмент под названием JS Charts, который позволяет мне создавать красивые графики с помощью Javascript, но у меня возникают проблемы с отправкой ему необходимых данных. Вот способ создания статического линейного графика :

<script type="text/javascript">
  var myData = new Array([1, 395], [2, 244], [3, 223], [4, 210], [5, 238], [6, 223], [7, 275], [8, 31]);
  var myChart = new JSChart('chartcontainer', 'line');
  myChart.setDataArray(myData);
  myChart.draw();
</script>

. Я поместил этот код в stats.html.erb, и он появился. Однако мне нужно, чтобы он отображал данные линейного графика, которые я ему предоставляю. В контроллере создается двумерный массив :

>> @a
=> [[1, 395], [2, 244], [3, 223], [4, 210], [5, 238], [6, 223], [7, 275], [8, 31]]

. Я должен иметь возможность использовать эту переменную в представлении и установить для нее var myDataс помощью чего-то вроде :

var myData = "<%= @a %>";

. Я пробовал другие вещи, такие как :

var myData = JSON.parse( "<%= @a.to_json %>" );

, но ничего не кажется. Работа. Могу ли я что-нибудь сделать?

РЕДАКТИРОВАТЬ:

Возникла проблема с массивом, который контроллер передал в представление (@a ), который был пуст. Я смог использовать:

var myData = JSON.parse( "<%= @a.to_json %>" );

для отображения линейного графика с правильными данными, переданными в представление.

7
задан Eric 2 May 2012 в 04:48
поделиться