我使用jQuery/javascript在haml模板上显示Highcharts图。下面的代码片段显示了HighCharts站点中演示代码中的独立图形:
:javascript
$(document).ready(function() {
$("#tabs").tabs();
new Highcharts.Chart({
chart: {
renderTo: 'volume_chart'
},
title: {
text: 'Logarithmic axis demo'
},
xAxis: {
tickInterval: 1
},
yAxis: {
type: 'logarithmic',
minorTickInterval: 0.1
},
tooltip: {
headerFormat: '<b>{series.name}</b><br />',
pointFormat: 'x = {point.x}, y = {point.y}'
},
series: [{
data: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
pointStart: 1
}]
});
});这可以很好地工作。现在,我尝试在show.html.haml文件中设置来自ruby/rails数组的序列数据,如下所示:
...
- data_array = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
...
:javascript
$(document).ready(function() {
...
series: [{
data: "#{data_array}",
pointStart: 1
}]
});
}); 这会给我以下错误:
undefined method `to_js' for [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]:Array如何将data_array从我的ruby/rails代码传递到javascript/jquery代码?
感谢任何人的帮助。
谢谢。
巴拉特
发布于 2012-04-15 09:14:08
require 'json'
...
"#{data_array.to_json}"发布于 2016-09-28 20:12:33
在HAML中,不需要使用to_json
:javascript
$(document).ready(function() {
...
series: [{
data: #{ruby_array},
pointStart: 1
}]
});
}); 将完美地工作
https://stackoverflow.com/questions/10158109
复制相似问题