バックボーン ビュー (file.js) に関数があり、以下の形式の JSON 応答が取り込まれます:-
バックボーン ビューの機能:-
chart_data: function(){
var all_stats = this.collection.toJSON();
$("#page-container").html(this.users_by_loc({
platform_stats: all_stats,
graph_data: all_stats.items.slice(0,5)
// I want to use the top 5 entries to plot graph
}));
}
all_statsの一部として存在する応答(私の API 呼び出しから - サーバー側で Rails を使用しています):-
{
"items":
[
{
"loc": "Chennai",
"users": 11707
},
{
"loc": "Hyderabad",
"users": 4327
},
{
"loc": "Pune",
"users": 3625
},....(many more entries)
]
}
ここで、 graph_dataパラメーター (上記のバックボーン ビューで定義) に存在する json 応答を、 jst.ejsテンプレート (以下のコード)で定義されているchartDataという変数に渡そうとしています。この変数 (chartData) は、AM チャート JS コードで実際にグラフをプロットするために使用されます。
グラフ データを入力してグラフをプロットするコードを含む私のjst.ejsファイルは次のようになります。
<script>
var chart;
chartData = "<%= graph_data %>"
console.log("chartData: ", chartData);
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData;
//additional code to help plot the chart
chart.write("chartdiv");
});
</script>
<div id="chartdiv" style="width: 60%; height: 400px;"></div>
私の現在の障害は、私がそうするときです..
chartData = "<%= graph_data %>"
console.log("chartData: ", chartData);
.. 私のjst.ejsテンプレートでは、実際のデータをall_statsの一部として持つ代わりにchartData変数(上に表示)は、firebugコンソールで次を返します:-
chartData: [object Object],[object Object],[object Object],[object Object],[object Object]
グラフをプロットするために、 graph_data変数 (バックボーン ビューの一部として) に存在する実際のデータを、 jst.ejsテンプレートに存在する変数chartDataに正しく割り当てるにはどうすればよいですか?