Har*_*man 2 javascript ruby-on-rails cross-browser google-visualization
我在我的网页上显示的 Google 图表遇到了一个非常奇怪的问题。当我在 Mac 上本地运行代码时,一切正常,图形显示没有错误。
但是,当我在测试的 AWS 服务器上运行相同的应用程序时,我收到以下错误消息,但没有图表:
Data column(s) for axis #0 cannot be of type string
Run Code Online (Sandbox Code Playgroud)
该应用程序是用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
Run Code Online (Sandbox Code Playgroud)
(在页面视图中)
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>
Run Code Online (Sandbox Code Playgroud)
没关系 - 我解决了它。问题是我前几天擦了生产数据库,所以当我去获取绘图数据时,它什么也获取不到。这导致了错误,因为数组只会看起来像:
["Date", "Value"]
Run Code Online (Sandbox Code Playgroud)
因此字符串错误。
对不起!
| 归档时间: |
|
| 查看次数: |
23718 次 |
| 最近记录: |