我正在构建一个包含动态数量的数据集的chartjs数据对象。在我的Ruby on Rails 5控制器中,我尝试了以下操作:
chartJsObject = []
chartJsObject << {
label: "Label Stuff",
datasets: []
}
i = 0
num = 5
while i < num do
chartJsObject.datasets << [rand(10), rand(10)]
i+=1
end
这将导致以下错误:
undefined method `datasets' for [{:label=>"Label Stuff", :datasets=>[]}]:Array
你知道我在这里做错了什么吗?为了能够遍历和填充chartJsObject.datasets?
发布于 2017-09-21 23:59:55
在第一行中,您将chartJsObject
定义为数组:
chartJsObject = []
然后在第二个步骤中,您将一个散列对象推入其中:
chartJsObject << {
label: "Label Stuff",
datasets: []
} #=> [{:label=>"Label Stuff", :datasets=>[]}]
现在,您所拥有的是一个散列对象数组。为了在datasets
中插入数据,您只需要访问散列对象,可能如下所示:
i = 0
num = 5
while i < num do
chartJsObject[i][:datasets] << [rand(10), rand(10)] if chartJsObject[i]
i+=1
end
https://stackoverflow.com/questions/46348323
复制相似问题