Ruby on rails Chartkick/Rails:使用对象而不是模型中的数据构建折线图

Ruby on rails Chartkick/Rails:使用对象而不是模型中的数据构建折线图,ruby-on-rails,chartkick,Ruby On Rails,Chartkick,我试图使用从API检索到的数据绘制一个简单的折线图,但是文档示例仅使用常规ActiveRecord模型中的数据,我为此付出了很多努力。因为我不是在模型上操作,所以我不能使用文档(组等)中解释的任何方法 我调用了一个RESTAPI,我得到了一个具有两个属性的对象(还有一些属性,但这两个是我现在感兴趣的属性)、ORDER_代码和LEAD_TIME。我只想显示一个在X轴上有顺序代码,在Y轴上有提前期的折线图 我的控制器代码是这样的,我使用Dish将Json.parse中的哈希转换成一个对象。API调用

我试图使用从API检索到的数据绘制一个简单的折线图,但是文档示例仅使用常规ActiveRecord模型中的数据,我为此付出了很多努力。因为我不是在模型上操作,所以我不能使用文档(组等)中解释的任何方法

我调用了一个RESTAPI,我得到了一个具有两个属性的对象(还有一些属性,但这两个是我现在感兴趣的属性)、ORDER_代码和LEAD_TIME。我只想显示一个在X轴上有顺序代码,在Y轴上有提前期的折线图

我的控制器代码是这样的,我使用Dish将Json.parse中的哈希转换成一个对象。API调用正在工作,我正在我的应用程序中成功地使用数据

leadtimes=Dish(JSON.parse RestClient.get(ENV['API'],参数:{PART:@order.PART}))

并且认为:

<%= line_chart @data%> 
我从API获得的JSON如下所示:

[{"ORDER_CODE"=>519805, "PART"=>"00049", "LEAD_TIME"=>29, "DATE"=>"2015-03-03T00:00:00"}, {"ORDER_CODE"=>517297, "PART"=>"00149", "LEAD_TIME"=>54, "DATE"=>"2014-11-26T00:00:00"}]

我最终通过在变量leadtime中包含的原始哈希数组上使用collect方法实现了它,如OP中所示

@data = leadtimes.collect{|i| [i['ORDER_CODE'], i['lead_time']]}
只要将@data作为参数传递给line_图表,图表就会正确绘制

@data = leadtimes.collect{|i| [i['ORDER_CODE'], i['lead_time']]}