Chartkick/Rails:使用来自对象而不是模型的数据构建 line_chart
Chartkick/Rails: Build line_chart using data from an object instead of a Model
我正在尝试使用从 API 检索到的数据绘制一个简单的 line_chart,但文档示例仅使用来自常规 ActiveRecord 模型的数据,我很费力。因为我不是在模型上操作,所以我不能使用文档(组等)中解释的任何方法
我调用了 REST API,我得到了一个具有两个属性的对象(还有一些,但这两个是我目前感兴趣的),ORDER_CODE 和 LEAD_TIME。我只想显示一个 line_chart,X 轴为 order_codes,Y 轴为 lead_times。
我的控制器代码就是这样,我使用 Dish 将散列从 Json.parse 转换为对象。 API 调用有效,我在我的应用程序中成功使用了数据。
leadtimes = Dish(JSON.parse RestClient.get(ENV['API'], params: { PART: @order.PART }))
并且在视图中:
<%= line_chart @data%>
我正在尝试这个,但我得到的是一张空图表:
@data = leadtimes.map do |value|
[
order_code: value.ORDER_CODE, lead_time: value.LEAD_TIME
]
end
我从 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"}]
我终于通过对变量提前期中包含的原始散列数组使用 collect 方法使其正常工作,如 OP 所示。
@data = leadtimes.collect{|i| [i['ORDER_CODE'], i['lead_time']]}
只需将@data 作为参数传递给line_chart 图表就会正确绘制。
我正在尝试使用从 API 检索到的数据绘制一个简单的 line_chart,但文档示例仅使用来自常规 ActiveRecord 模型的数据,我很费力。因为我不是在模型上操作,所以我不能使用文档(组等)中解释的任何方法
我调用了 REST API,我得到了一个具有两个属性的对象(还有一些,但这两个是我目前感兴趣的),ORDER_CODE 和 LEAD_TIME。我只想显示一个 line_chart,X 轴为 order_codes,Y 轴为 lead_times。
我的控制器代码就是这样,我使用 Dish 将散列从 Json.parse 转换为对象。 API 调用有效,我在我的应用程序中成功使用了数据。
leadtimes = Dish(JSON.parse RestClient.get(ENV['API'], params: { PART: @order.PART }))
并且在视图中:
<%= line_chart @data%>
我正在尝试这个,但我得到的是一张空图表:
@data = leadtimes.map do |value|
[
order_code: value.ORDER_CODE, lead_time: value.LEAD_TIME
]
end
我从 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"}]
我终于通过对变量提前期中包含的原始散列数组使用 collect 方法使其正常工作,如 OP 所示。
@data = leadtimes.collect{|i| [i['ORDER_CODE'], i['lead_time']]}
只需将@data 作为参数传递给line_chart 图表就会正确绘制。