【发布时间】:2012-01-08 18:26:30
【问题描述】:
我查看了许多类似的问题,并尝试了他们的建议,但我仍然得到一张完全空白的地图(没有控件)。我很确定这很简单......
使用 Rails 3.1.2 和 Ruby 1.9.2-p290
我的页脚中有这个:
<% = yield :scripts %>
资产已启用。我的 application.js 在 jquery 行之前有这一行:
//= require gmaps4rails/googlemaps.js
(我也试过 //= require ./gmaps4rails/googlemaps.js)
assets/javascripts/gmaps4rails 目录存在并且包含脚本。
我的型号代码:
# 01/06/2012 - For Gmaps4Rails
acts_as_gmappable
...
def gmaps4rails_address
# 01/06/2012 - For Gmaps4Rails
"#{self.city}, #{self.country}"
end
我的观点:
<%= gmaps4rails(@json) %>
我的控制器:
@json = Party.all.to_gmaps4rails
@parties = Party.all
我确定 JSON 对象有数据,因为(如果我将它添加到视图中)我可以在页面呈现时看到它: [{"lat":15.87,"lng":100.993},{"lat":37.0902,"lng":-95.7129}] 另外,如果我查看我的本地 MySQL 数据库,这些行设置了纬度和经度,并且 gmaps=1
但是,我得到的只是一个大的、完全空的地图区域(没有控件)。
我的预感是 /gmaps4rails/... javascript 没有被拉入。如果我查看源代码,我可以看到 application.js,但它没有提及 gmaps。
如果我在脚本下查看 firebug... 我看到的唯一 \localhost\assets 脚本是 application.js。我不应该也看到 googlemaps.js 吗?
Gmaps javascript确实出现在视图源的末尾(... Gmaps.map = new Gmaps4RailsGoogle(); ...)
大约两个月前,我将此 Rails 应用程序转换为 Rails 3 应用程序。也许我没有启用通常在新的 Rails 3 应用程序生成中自动设置的东西?咖啡脚本?
我在这里可能做错了什么?有什么建议吗?
谢谢!
【问题讨论】:
-
您的标头中有 吗?
-
您是否尝试使用 rake 任务复制应用中的 js 文件?
-
apneadiving: 至于产量 :head: 我两种方法都试过了,没有影响。文档说 Rails 3.0.x only 所以我假设在 3.1 中没有必要。我只是把它放回去,它没有任何影响。至于rake任务,你的意思是
rails generate gmaps4rails:install命令吗?是的,我已经这样做了,文件 \gmaps4rails\gmaps4rails.base.coffee 和 \gmaps4rails\gmaps4rails.googlemasp.coffee 都存在于该子目录中。我开始认为我缺少处理咖啡脚本所需的东西,因为我从以前的 rails 版本升级... -
对于遇到同样问题的下一个用户:我不仅在 application.js 中添加了
//= require gmaps4rails/gmaps4rails.googlemaps,还添加了//= require gmaps4rails/gmaps4rails.base行来解决它。在一切似乎都按预期工作之后:)
标签: ruby-on-rails-3 gmaps4rails