我在我的 rails 应用程序中使用了谷歌可视化 javascript api,并将其包含在 application.html.erb 文件中:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
为了使脚本和以下代码正常工作,我需要连接到互联网。我取而代之的是,将上述 url 的内容放在我的 rails 应用程序的 assets>javascripts 文件夹中,并将其命名为 jsapi.js。然后我在 application.html.erb 文件中包含以下内容:
<%= javascript_include_tag "jsapi" %>
当我在断开连接到互联网时运行我的应用程序时,我能够看到上述文件的内容,因为这是生成的:
<script src="/assets/jsapi.js?body=1" type="text/javascript"></script>
但是,我尝试制作的实际图表不起作用。关于为什么会这样的任何建议?我的 index.html.erb (实际使用库)中的 javascript 的完整代码如下:
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var options = {
title: 'Most common phrases in pro-Microsoft Reviews (<%= @reviews.count %> reviews analyzed)',
vAxis: {title: 'Phrases', titleTextStyle: {color: 'red'}},
animation:{
duration: 2000,
easing: 'out',}
};
var data = google.visualization.arrayToDataTable([
['Phrase', 'Frequency'],
<% @frequency.each do |key,value| %>
['<%= key %>', <%= value %>],
<% end %>
]);
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
}
</script>
我有一种感觉,这与上面的代码有关。当我删除我包含的第一个 javascript 片段并连接到网络时,它可以工作。