0

ハイチャートを使用して、ユーザーの体重を表示するグラフを作成しようとしています。正しいjsファイルがすべて含まれており、整数の単純な配列を渡すと、問題なく動作します。ただし、ハイチャートのドキュメントを読んだ後、レールを使用して正しいデータをシリーズオプションに渡す方法がわかりません。

私のユーザーモデルは次のとおりです。

ユーザーには、weight:float user_id:integer id:integer created_at:datetime フィールドを持つ多数の weight_ins があります。(これが関連する場合)

以下は私の見解です。ご覧のとおり、ユーザーの重みを繰り返し処理してから、それをデータとして渡しました。jsonと配列を供給する必要があることは知っていますが、データをそのようにフォーマットする方法がわかりません。

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


            }]

投稿が必要なコードがさらにある場合は、ただ叫んでください。

どんな提案でも大歓迎です。

ただし、データは動的であるため、ユーザーは毎日体重を更新できるため、グラフも更新する必要があります。上記のように角括弧を使用すると、グラフはレンダリングされません。今、私はこれを持っていますが、正しい出力も生成しません。正しいユーザーの 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 を使用する必要はありません。その文字列をRubyから作成します。これはまさにjsonが使用されるものでもあります。Json出力を確認してください。ところで、Ruby文字列をエコーし​​てみてください。

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

あなたのjsonがhv no squre brackets []を出力する場合は、それらを追加してみてください

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