2012-06-18 60 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 %> 

請注意,這段代碼是不適合你的情況下優化(在我的情況我有我省略了被沒用到你的情況等邏輯 - 我有一個具有[數據和值]的多維數組)。