我正在尝试制作一个网页以在我的 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 %>" );
显示折线图,其中正确的数据被传递到视图中。