Google Chart:轴#0的数据列不能是字符串类型

时间:2012-07-16 23:23:28

标签: javascript ruby-on-rails cross-browser google-visualization

我在我的网页上显示的谷歌图表有一个非常奇怪的问题。当我在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>

1 个答案:

答案 0 :(得分:4)

没关系 - 我解决了。问题是我几天前擦过了生产数据库,所以当我去获取绘图数据时,它不会取任何东西。这导致了错误,因为数组只会看起来像:

["Date", "Value"]

因此出现字符串错误。

抱歉!