2012-06-18 59 views
0

我试图做一个图表来显示用户的重量,使用highcharts。我拥有所有正确的js文件的包括,当通过整数的简单数组,它工作得很好。 但是我不确定,看了highcharts文档,如何将正确的数据传递到使用Rails系列选项。添加Rails的数据Highcharts系列

我的用户模型如下:

用户具有许多weigh_ins,其具有重量:浮USER_ID:整数ID:整数created_at:日期时间字段。 (如果这是有关)

下面是我的观点,你可以看到我已经尝试通过用户的权重进行迭代,然后传递的数据。我知道这需要反馈JSON和数组,但林不知道如何格式化我的数据,以适应这种方式。

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


      }] 

如果还有其他需要发布的代码,只需留言。

任何建议将不胜感激。

Thata defo在正确的轨道上,但是,数据是动态的,因此用户可以每天更新其权重,因此图表需要更新。如果我使用上面的方括号,那么该图甚至不会渲染。现在我有这个,但它不产生正确的输出。我需要找到正确的用户weigh_ins,然后遍历所有这些,选择重图这是一个浮动。不知道如何解决它。

​​

回答

-1

如果要分析这样的数据,你真的没有使用JSON,becoz因为哟不动态更新,你可以只回声它像[34,32,24,25, 12] BT首先你HV使Ruby中该字符串,而这正是被JSON用于过,检查你的JSON输出, BTW尝试呼应一些Ruby的字符串像

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

,如果你的JSON出放hv no squre brackets []然后尝试添加它们

data:[ <% @user.weigh_ins.each do |weight| %> ] 
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 %> 

请注意,这段代码是不适合你的情况下优化(在我的情况我有我省略了被没用到你的情况等逻辑 - 我有一个具有[数据和值]的多维数组)。