导轨4带有涡轮和窗户负载

我正在使用Rails 4。

我正在尝试使用此脚本来显示谷歌地图。 我有一个不同地方的页面,每个地方都有一个地址。 它显示在谷歌地图中。
所以我使用分页,在每个页面上我有4个位置。 gmap的4个脚本。
但是这个脚本仅在页面重新加载(ctrl + R或F5)时初始化,这是因为turbolinks。

我怎样才能让它以最简单的方式工作?

 function initialize() { var myLatlng = new google.maps.LatLng(, ); var mapOptions = { zoom: 16, center: myLatlng }; var map = new google.maps.Map( document.getElementById("map-canvas-"), mapOptions); var marker = new google.maps.Marker({ position: myLatlng, map: map, title: '' }); } google.maps.event.addDomListener(window, 'load', initialize);  

这是剧本。 每个地图的div看起来像这样:

 <div id="map-canvas-">

您需要通过turbolinks初始化脚本。 检查这个关于turbolinks的ASCIIcast 。

一般来说,你需要改变……

 jQuery(function() { # your script }); 

…至…

 var ready; ready = function() { # your script }; $(document).ready(ready); $(document).on('page:load', ready); 

所有涡轮连接活动都可以在这里找到。

Turbolinks的更新5

page:load已更改为turbolinks:load ,因此您要编写:

 var ready; ready = function() { # your script }; $(document).on('turbolinks:load', ready); 

您不再需要指定$(document).ready(); 作为turbolinks:load就是这样。 有关更多信息,请查看自述文件 。