highcharts.js でグラフ化するためのデータ ポイントを事前に生成し、パブリック フォルダーに保存しています。それらを JS コードに効率的に渡すのに問題があるようです。そのため、現在、ビューでそれらを読み取り、HTML 内の関数呼び出しに貼り付けています。これは気分が悪い。理想的には、Apache、AJAX スタイルから JS 関数までそれらを提供する必要があると思いますが、現在の方法は機能しているように見えます...
generate_plot.js:
var generate_plot = function(str) {
var t_test = str[3];
var kdes = str[2];
var new_vals = str[0];
var old_vals = str[1];
var chart_number = str[4] + 1;
....
私の見解では(haml)私はやっています:
...
- txt = ['public', (comparison_path(params[:id]) + graph).split('/').uniq.delete_if{|a| a.empty? }].join('/')
%div.bean{:id => "bean#{i+1}" }
%div.time{:id => "time#{i+1}" }
:javascript
generate_plot(#{File.readlines(txt).first[0...-1] + ','+ i.to_s + ']'})
これにより、かなり不格好で凶悪な html が生成されます。私はもっと良い方法があることを知っています!
レンダリングのためにクライアントにローカル JSON データを提供する適切な方法は何ですか? 以前にもこれをやろうとしたのですが、私のサーバーはローカルの JSON ファイルを直接見つけられなかったので、Rails アプリを使ってそれらを読み込み始めました。
サーバーが JSON を見つけられない理由はありますか? AJAX を使用して高速化する必要がありますか、それとも HTML にプッシュする必要がありますか (同じように高速ですか?)
何を探すべきかわからないので、ここでの指示は役に立ちます。