Rails uygulamasında Pjax ve Google Map uygulamasını uygulamak istiyorum ve JavaScript kodlarımın yüklenmesiyle ilgili bir sorunum var.Pjax ve belirli bir sayfada JavaScript'i yeniden yükleme
My düzen/application.html.erb şu şekildedir:
<div id="map" style="width: 100%; height: 300px;"></div>
<% content_for(:after_js) do %>
<%= javascript_tag do %>
$(document).on('ready', function() {
handler = Gmaps.build('Google');
handler.buildMap({ internal: { id: 'map' } }, function(){
markers = handler.addMarkers(<%= raw @markers.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
})
<% end %>
<% end %>
@markers:
<body>
<%= render 'shared/navbar' %>
<%= render 'shared/flashes' %>
<div id="pjax-container">
<%= yield %>
</div>
<%= render 'shared/footer' %>
<%= javascript_include_tag "https://maps.google.com/maps/api/js?key=******************************" %>
<%= javascript_include_tag "https://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" %>
<%= javascript_include_tag "application" %>
<%= yield(:after_js) %>
</body>
ve benim haritası listeleri/index.html.erb olan dosya böyledir bir girişe bağlı işaretleyicinin dizisidir. Listings Controller'da tanımlanmıştır, bu yüzden bu javascript kodunu taşımak zordur.
Bu dosyanın JavaScript kodu, yalnızca bu sayfayı yeniden yüklediğimde ve sayfa değiştirdiğimde kaybolmuyorsa çalışır.
Sorularım: Pjax sistemi ile belirli bir sayfada bazı Ruby bilgilerini içeren bir JavaScript kodu çağırmak mümkün mü?
Bu, bunun nasıl yapıldığını açıklamıyor. Detaylandırır mısınız? –
Evet, daha zor bir şey yaptım (bir bağlantı ve uzaktan kumanda ile işlev çağrısı), ancak bu daha iyidir (ve şimdi pjax'ın daha iyi anlaşılması;)) –
@hugohowchoong;) evet .. PJAX Sayfayı yüklemeden dinamik içeriği gösteren en iyi eklenti .. :) kodlamanın tadını çıkarın;) – Kannan