Ruby生成的javascript文件不会在页面刷新时更新
我正在开发一个应用程序,其中存储在数据库中的项目显示在谷歌地图上。为此,我将Ruby生成的javascript文件不会在页面刷新时更新,javascript,ruby-on-rails,ruby,google-maps,Javascript,Ruby On Rails,Ruby,Google Maps,我正在开发一个应用程序,其中存储在数据库中的项目显示在谷歌地图上。为此,我将gmap.js.erb文件添加到app/assets/javascripts文件夹中。项目从相应的表中提取,并按以下方式放在地图上: function showItemsOnMap() { <% Item.all.each do |item| %> var lat = <%= item.lat %>; var lng = <%= item.lng %>; a
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 %>
}
函数showItemsOnMap(){
var-lat=;
var lng=;
添加标记(lat、lng);
}
这工作正常,项目显示正确,但当我添加新项目并刷新地图页面时,不会显示新添加的项目<代码>gmap.js.erb在我更改数据库并单击刷新后不会更新。我想仅仅通过点击浏览器中的刷新按钮来触发
gmap.js.erb
update是不够的。我该怎么做?如何在修改Items表时更新gmap.js.erb
?您的gmap.js.erb将编译为gmap.js,并在使用此js文件的第一次页面请求时缓存。您可以将这些js放在视图中,使其成为动态脚本
view.html.erb
<script>
function showItemsOnMap() {
<% Item.all.each do |item| %>
var lat = <%= item.lat %>;
var lng = <%= item.lng %>;
addMarker(lat, lng);
<% end %>
}
</script>
函数showItemsOnMap(){
var-lat=;
var lng=;
添加标记(lat、lng);
}
您的控制台日志/网络面板怎么说?您是否收到304(未修改)响应?添加项目后是否有任何可能发生的错误?是否关闭了TurboLink?及restart@Kalman关闭TurboLink没有帮助。@Blauharley项目的添加、修改和删除没有任何错误。如果我重新启动服务器,它们会正确地显示在地图上。这就是我听起来的样子。服务器生成showItemsOnMap()方法并将其发送到客户端(浏览器)。该方法在客户端上被调用,但客户端永远不会返回服务器请求更多。。。