将 Ruby 数组传递给 Ruby on Rails 中 Haml 视图中的 JavaScript 代码 (jquery
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
如何将data_array从我的ruby/rails代码传递到javascript/jquery代码?
感谢任何帮助。
谢谢。
巴拉特
require 'json'
...
"#{data_array.to_json}"
嘿,
在 HAML 中,没有必要使用to_json
:javascript
$(document).ready(function() {
...
series: [{
data: #{ruby_array},
pointStart: 1
}]
});
});
将完美工作
相关文章:
- 使用Ruby数组使用JS在视图中进行迭代和显示
- 如何将.js从视图移动到单独的资产 - Ruby On Rails
- Ajax 与 ruby 视图的问题
- 从 JavaScript 调用 ruby 方法或从 RoR 中的视图中传递参数
- 如何在索引视图中的Ruby on Rails中使用JavaScript切换项目的状态
- 如何在Ruby on Rails视图中访问JavaScript变量
- 将 Ruby 数组传递给 Ruby on Rails 中 Haml 视图中的 JavaScript 代码 (jquery
- 显示视图时JavaScripts不工作-Rails 4 Ruby 2
- Ruby on rails render partial不从主窗体视图执行javascript
- 如何使用AJAX监控ruby控制器传递到视图html的实例变量
- 如何在视图中混合JS和Ruby代码以供以后使用JS
- 通过javascript文件ruby on rails渲染局部视图
- 为什么在视图中解析时,我的嵌入式ruby json字符串用html实体编码
- 在用ruby刷新页面时记住树视图菜单的状态
- 访问angular.js变量的Ruby视图
- 动态更改视图中的Ruby-on-Rails变量
- 在ruby on rails的视图中使用javascript
- 如何在ruby rails视图模板中表示数组
- 使用hidden_form_tag Ruby on Rails从每个视图发送一个参数
- ruby on rails-只有在视图页面中才可以使用Javascript