Rails:ReferenceError:未定义谷歌
Posted
技术标签:
【中文标题】Rails:ReferenceError:未定义谷歌【英文标题】:Rails: ReferenceError: google is not defined 【发布时间】:2013-05-09 06:24:36 【问题描述】:我的 application.js 上出现“ReferenceError: google is not defined”错误
这是我的 js 包含的内容:
$(document).ready(function()
var input = document.getElementById('searchTextField');
var options =
types: [],
componentRestrictions: country: 'in'
;
var autocomplete = new google.maps.places.Autocomplete(input, options);
);
不明白为什么会出现这个错误。我的搜索功能运行正常,但 Web 控制台出现此错误。
谁能告诉解决方案?
【问题讨论】:
呃,您是在加载 Google 地图 API JS 文件吗?您可能需要发布更多代码,因为到目前为止您发布的内容中没有这些代码 @duncan 这就是我要发布的内容:"searchTextField", :class=> "homecatg" %> 【参考方案1】:正如duncan 所说,问题可能出在包含标签上。
我在显示页面的顶部包含了 GoogleMaps API(所以在 HEAD 标记之外)
<%= javascript_include_tag "https://maps.google.com/maps/api/js?key=#ENV['GOOGLE_MAPS_API_KEY']" %>
摆脱这个
ReferenceError: google 未定义
我将包含 API 的位置从显示页面顶部更改为 layouts/application.html.erb
到 head 标签中。
<head>
<%= javascript_include_tag "https://maps.google.com/maps/api/js?key=#ENV['GOOGLE_MAPS_API_KEY']" %>
</head>
【讨论】:
【参考方案2】:请更改顺序: 第一个
<script src="maps.googleapis.com/maps/api.... >
然后
<%= text_field_tag 'search', nil, :id=>"searchTextField", :class => "homecatg" %>
在这种情况下,google 将在使用前定义。
【讨论】:
以上是关于Rails:ReferenceError:未定义谷歌的主要内容,如果未能解决你的问题,请参考以下文章
简单的 Rails 应用程序 - 未捕获的 ReferenceError:$ 未定义
Ruby on Rails - 未捕获的 ReferenceError:$ 未定义
Ruby on Rails - 未捕获的ReferenceError:$未定义
Uncaught ReferenceError: $ is not defined in Rails 6 jquery webpacker
Uncaught ReferenceError: $ is not defined in Rails 6 webapp search bar