Javascript 更改Ruby哈希的值
我正试图使用morris.js()制作一个油炸圈饼图,但在正确格式化数据方面遇到了一些问题 目前,数据的格式是这样的Javascript 更改Ruby哈希的值,javascript,ruby-on-rails,ruby,morris.js,Javascript,Ruby On Rails,Ruby,Morris.js,我正试图使用morris.js()制作一个油炸圈饼图,但在正确格式化数据方面遇到了一些问题 目前,数据的格式是这样的 {"2D"=>"6768.96", "1DP"=>"293.63", "3D"=>"84.97", "1D"=>"361.83", "GR-RES"=>"19083.85", "GR-COM"=>"11254.69"} 下面是我目前的代码 <%= content_tag :div, "", id: "shipments-by-servi
{"2D"=>"6768.96", "1DP"=>"293.63", "3D"=>"84.97", "1D"=>"361.83", "GR-RES"=>"19083.85", "GR-COM"=>"11254.69"}
下面是我目前的代码
<%= content_tag :div, "", id: "shipments-by-service-type", data: {shipments: @details.group(:family).sum("base_charge + discount")} %>
jQuery ->
Morris.Donut
element: "shipments-by-service-type"
data: $('#shipments-by-service-type').data('shipments')
jQuery->
莫里斯,甜甜圈
元素:“按服务类型的装运”
数据:$(“#按服务类型划分的装运”)。数据(“装运”)
这是我第一次将数据传递到js并进行解析以生成图形,如有任何帮助,我将不胜感激 因此,一旦您纠正了我在上面的评论中指出的引号问题,要么转义,要么将外部引号切换为单引号,此javascript将解析您的输入,并为甜甜圈图做好准备
var dataArr = [];
var obj = $("#shipments-by-service-type-simple").data('shipments');
for ( var prop in obj) {
dataArr.push({"label": prop, "value": obj[prop]});
}
Morris.Donut({
element: 'donut-example',
data: dataArr
});
这是你的电话号码。拉斐尔似乎不喜欢十进制值,并且正在抛出错误。可能需要对您的值进行四舍五入在客户端按服务类型提供的
发货中,数据在html中的实际显示情况如何?
我希望第一个元素是标签,第二个元素是值。我马上看到的一个问题是,您需要在数据传送
即\”
或将外部双引号更改为单引号,这是因为当您执行JSON.parse以将文本转换为对象时,它将在=
之后看到第一个双引号,然后在之后看到下一个双引号{
并假设它已完成解析,当然您没有有效的对象