3

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>
4

1 に答える 1

4

気にしないでください - 私はそれを解決しました。問題は、数日前に実稼働データベースを消去したため、プロット データを取得しようとしたときに何も取得されなかったことです。配列は次のようにしか見えないため、これによりエラーが発生しました。

["Date", "Value"]

したがって、文字列エラー。

ごめん!

于 2012-07-16T23:46:39.317 に答える