Web ページに表示している Google チャートで奇妙な問題が発生しています。コードを Mac でローカルに実行すると、すべてが機能し、グラフはエラーなしで表示されます。
ただし、テストしている AWS サーバーで同じアプリを実行すると、次のエラー メッセージが表示され、グラフが表示されません。
Data column(s) for axis #0 cannot be of type string
アプリは ruby-on-rails で記述されており、関連するコードを以下に貼り付けます。
(ページのコントローラー内)
relevantEntries = getDataFromDB
@graphData = Array.new
@graphData << ["Date", "Value"]
relevantEntries.each do |entry|
@graphData << [entry.created.strftime(format="%-m/%-d"), entry.value]
end
(ページのビューで)
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(ChartMaker);
function ChartMaker(chartDiv) {
// Create the data table.
var data = google.visualization.arrayToDataTable(<%= @graphData.to_json.html_safe %>);
// Set chart options
var options = {/* some options */};
// Instantiate and draw chart, passing in the options.
var chart = new google.visualization.LineChart(document.getElementById(chartDiv));
chart.draw(data, options);
}
</script>