[英]passing ruby arrays to javascript code (jquery) in a haml view in Ruby on Rails
我正在使用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
如何將我的ruby / rails代碼中的data_array傳遞給javascript / jquery代碼?
感謝任何幫助。
謝謝。
巴拉特
require 'json'
...
"#{data_array.to_json}"
嘿,在HAML中沒有必要使用to_json
:javascript
$(document).ready(function() {
...
series: [{
data: #{ruby_array},
pointStart: 1
}]
});
});
會完美的工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.