【发布时间】:2015-12-25 18:11:42
【问题描述】:
我正在开发一个应用程序,其中存储在数据库中的项目显示在 Google 地图上。为此,我将gmap.js.erb 文件添加到app/assets/javascripts 文件夹。从相应的表中取出项目并按以下方式放在地图上:
function showItemsOnMap() {
<% Item.all.each do |item| %>
var lat = <%= item.lat %>;
var lng = <%= item.lng %>;
addMarker(lat, lng);
<% end %>
}
这工作正常并且项目显示正确,但是当我添加一个新项目并刷新我的地图页面时,新添加的项目不显示。在我对数据库进行更改并单击刷新后,gmap.js.erb 未更新。我想仅通过单击浏览器中的刷新按钮来触发gmap.js.erb 更新是不够的。我该怎么做?每当修改 Items 表时,如何更新 gmap.js.erb?
【问题讨论】:
-
控制台日志/网络面板说什么?您是否收到 304(未修改)响应?添加项目后是否可能出现任何错误?
-
您是否关闭了 Turbolinks? blog.steveklabnik.com/posts/… 并重启
-
@Kalman 关闭 Turbolinks 没有帮助。
-
@Blauharley 项目被添加、修改和删除,没有任何错误。如果我重新启动服务器,它们会正确显示在地图上。
-
这就是我听起来的样子。服务器生成 showItemsOnMap() 方法并将其发送到客户端(浏览器)。该方法在客户端调用,但客户端从不返回服务器请求更多...
标签: javascript ruby-on-rails ruby google-maps