0

我正在尝试使用 highcharts 制作一个图表来显示用户的体重。我包含了所有正确的 js 文件,当传递一个简单的整数数组时,它工作得很好。但是,在阅读了 highcharts 文档后,我不确定如何使用 rails 将正确的数据传递到系列选项中。

我的用户模型如下:

一个用户有很多 weight_ins,其中有 weight:float user_id:integer id:integer created_at:datetime 字段。(如果这是相关的)

下面是我的观点,如您所见,我尝试遍历用户权重,然后将其作为数据传递。我知道它需要输入 json 和一个数组,但我不确定如何格式化我的数据以适应这种方式。

   borderWidth: 0
            },
            series: [{
                    pointInterval: <%= 1.day * 1000 %>,
                    name: 'weight',
                    data: <% @user.weigh_ins.each do |weight| %>
                                            <%= weight.weight.to_json %>
                                            <% end %>


            }]

如果还有更多代码需要发布,请大声喊叫。

任何建议将不胜感激。

Thata defo 在正确的轨道上,但是,数据是动态的,因此用户可以每天更新他们的权重,因此图表也需要更新。如果我使用上面的方括号,那么图形甚至不会呈现。现在我有了这个,但它也没有产生正确的输出。我需要为正确的用户找到 weight_ins,然后遍历所有这些并选择作为浮点数的重量数字。不知道如何解决它。

 data: <% user = @user.weigh_ins %> 
       <% user.each do |user_weight| %> 
       [<%= user_weight.weight %> ] 
       <% end %> 
4

2 回答 2

2

我与此代码类似:

<% bio_array = Array.new(@bio.size) %>

<% @biometrics.each_with_index {|x, index| %>
    <% bio_array += [x[:weight]]    %>
<% } %>

(... some code ...)

series: [{
        name: 'Some Name',
        data: <%= bio_array %>

请注意,此代码并未针对您的情况进行优化(在我的情况下,我省略了其他逻辑,因为对您的情况无用 - 我有一个带有 [数据和值] 的多维数组)。

于 2013-01-30T15:50:29.803 回答
-1

如果你想解析这样的数据,你真的不必使用 Json,因为你不会动态更新,你可以像 [34,32,24,25,12] 一样回显它,首先你要从 Ruby 制作那个 String ,这正是 json 的用途,检查你的 Json 输出,顺便说一句,尝试回显一些 Ruby String 之类的

 => 1,2,3,4,5 [<% echo str %> ]

如果你的 json 输出 hv 没有方括号 [] 然后尝试添加它们

 data:[ <% @user.weigh_ins.each do |weight| %> ]
于 2012-06-19T00:05:58.697 回答