首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ruby on Rails的haml视图中将Ruby数组传递给javascript代码(jquery)

在ruby on Rails的haml视图中将Ruby数组传递给javascript代码(jquery)
EN

Stack Overflow用户
提问于 2012-04-15 07:07:01
回答 2查看 4.7K关注 0票数 4

我使用jQuery/javascript在haml模板上显示Highcharts图。下面的代码片段显示了HighCharts站点中演示代码中的独立图形:

代码语言:javascript
复制
: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数组的序列数据,如下所示:

代码语言:javascript
复制
...
- data_array        = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
...
:javascript

  $(document).ready(function() {
  ...
      series: [{            
        data: "#{data_array}",
        pointStart: 1
      }]
    });
  }); 

这会给我以下错误:

代码语言:javascript
复制
undefined method `to_js' for [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]:Array

如何将data_array从我的ruby/rails代码传递到javascript/jquery代码?

感谢任何人的帮助。

谢谢。

巴拉特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-15 09:14:08

代码语言:javascript
复制
require 'json'

...

"#{data_array.to_json}"
票数 5
EN

Stack Overflow用户

发布于 2016-09-28 20:12:33

在HAML中,不需要使用to_json

代码语言:javascript
复制
   :javascript
     $(document).ready(function() {
       ...
       series: [{            
         data: #{ruby_array},
         pointStart: 1
       }]
     });
    }); 

将完美地工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10158109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档