Ruby on Rails:如何从记录生成数组以在Highcharts中显示?
我需要将数据集显示为Highcharts柱形图。 我不知道如何将数据传递给Highcharts的Javascript方法以显示我当天的业务流程分数。
数据集是在我的BusinessProcess控制器中构建的:
@business_process_history = DmMeasure.where("period_id between ? and ? and ODQ_object_id = ?", first_period_id, current_period_id, "BP-#{@business_process.id}").select("period_day, score").order("period_id")
这给出了预期的2个字段,10个记录结果,并且将完美地显示在HTML表中。
更新:
多巴哥的建议给出了预期的arrays数组,
[["20140820", #], ...]
但问题没有解决。
这是函数调用,包括多巴哥的建议:
$(function () { $('#measures').highcharts({ chart: {type: 'column'}, title: {text: 'Data quality trend'}, xAxis: { title: {text: 'Time'} }, yAxis: { title: {text: 'Score'} }, series: [{ data: }] }); });
此脚本在度量DIV中不产生任何内容,而硬编码的值列表确实生成图形。
我尝试了几种方法,但仍然无法管理。
你能帮帮我吗?
非常感谢,
最好的祝福,
弗雷德
尝试:
@business_process_history.map { |bp| [bp.period_day, bp.score] }
多亏了多巴哥的建议, 最终的解决方案是:
@business_process_history.map { |bp| [bp.period_day, bp.score.to_f] }
1 – 使用块的map方法生成正确的数组数组
2 – 应用于得分字段的to_f方法可确保数据类型符合Highcharts的期望。
谢谢多巴哥!
弗雷德