2013-04-09 8 views
9

ho la presente link_to nel mio che chiama la update azione nel mio controller:Chiamata all'azione Rails da JavaScript

<%= link_to((image_tag("lock_closed.svg", :class => "edit")), :controller => "sections", :action => "update",:id => section.id, :remote => true) %>


Ma vorrei davvero piace chiamare l'azione update attraverso alcuni javascript con un normale tag immagine.

Quindi qualcosa di simile:

<%= image_tag("lock_closed.svg", :class => "edit")%>

e:

$(".edit").click(function(){ 
    if ($(this).hasClass("update")){ 
    // call update action 
    } else { 
    //do something else 
    }; 
}) 

E 'possibile chiamare un'azione in questo modo? Ho trovato un po 'su utilizzando GET & POST o Ajax metodi, ma non sono sicuro di come utilizzarli per indirizzare un'azione specifica controller &.

risposta

16

Invia una chiamata AJAX

$(".edit").click(function(){ 
    if ($(this).hasClass("update")){  
    $.ajax({ 
     type: "PUT", 
     url: "/sections/<%= section.id %>" 
    }); 
    } else { 
    //do something else 
    }; 
})