0

我正在尝试按照此示例将 Highcharts 图表添加到 Rails 应用程序

http://www.highcharts.com/demo/column-stacked

当我使用 javascript 配置图表时一切正常,但由于内容是动态的,我想将系列数据移动到数据属性上。

我修改了函数中的一行(请参阅上面链接中的查看选项)

series: $('#container').data('chart')

并且在视图中

<div id="container" style="width:100%;height:172px;" data-chart='<%= @data %>' ></div>

在控制器中

@data = [{
                name: 'John',
                data: [5, 3, 4, 7, 2]
            }, {
                name: 'Jane',
                data: [2, 2, 3, 2, 1]
            }, {
                name: 'Joe',
                data: [3, 4, 4, 2, 5]
            }]

现在,我没有像示例中那样显示正确的图表,而是有一个非常混乱的图表,其中包含大约 100 个数据系列。

在 javascript 和 ruby​​ 下处理此数据数组的方式是否会导致这种差异?

4

1 回答 1

1

尝试在视图中将数据传递给客户端content_tag并将@data 重命名为@my_data:

<%= content_tag "div", id: "chart_data", data: {my_data: @my_data} do %>
<% end %>

重新加载页面,打开 JavaScript 控制台,使用 jQuery 查看 JavaScript 对象的格式是否正确:

$('#chart_data').data('my_data')

在一个实际的示例中,您将希望将一组 Ruby 对象传递给客户端,该技术适用于将 Ruby 对象数组转换为 JS 对象数组。将数据传递给 JS有一个很好的RailsCast

于 2013-08-10T14:18:42.857 回答