Biraz daha sedasız şeyler yaklaşan denemek isteyebilirsiniz.
<%= link_to "Search", "#", :id => "search_geocode", :"data-href" => my_controller_geocode_path %>
Bu benzersiz bir kimliği ve aynı zamanda bir data-href
özelliğinde kontrolör/coğrafi kod yolunu kapsaması haricinde, zaten ne neredeyse aynıdır: Ben böyle bir şey ile link_to
çağrıyı yerine öneriyoruz. Bu, yakutunuzu ve javascript'inizi biraz daha ayrı tutmanıza yardımcı olur. içinde Sonra
sizin (ya da bir yerde benzer) application.js
:
$('#search_geocode').live('click', function(event){
event.preventDefault();
$.post($(this).attr('data-href') + "?address=" + $('#address').val(), function(data){});
});
Bunun etkili bir url veya yola adresi data-href
sağlanan mesajlar, arama düğmesi, bir click
olay dinleyicisi bağlayıcıdır yapıyor Arama bağlantınızın özelliği.
Ayrıca, kodunuzda, ruby'de kaynak adresinin id
değerini ayarlıyorsunuz. Bu id
özniteliğinin bir tür sayfa şablonu koşullarına bağlı olarak değişmesi gerekiyorsa, bağlantınıza başka bir data-
parametresi ekleyerek örneğimde genişletebilirsiniz. Yine
<%= link_to "Search", "#", :id => "search_geocode", :"data-href" => my_controller_geocode_path, :"data-address-id" => address_helper_id %>
Ve application.js
içinde çizgisinde bir şey ile yukarıda değiştirilmesi: Örneğin:
$('#search_geocode').live('click', function(event){
event.preventDefault();
$.post($(this).attr('data-href') + "?address=" + $($(this).attr('data-address-id')).val(), function(data){});
});