2013-04-09 13 views
9

Ich habe die dieses link_to in meinem, dass die update Aktion in meinem Controller ruft:Aufruf Rails Aktion von Javascript

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


Aber ich möchte wirklich die update Aktion durch einige Javascript nennen mit ein gewöhnliches Bild-Tag.

So etwas wie:

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

und:

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

Ist es möglich, auf diese Weise eine Aktion zu nennen? Ich habe ein wenig über die Verwendung von GET & POST oder Ajax Methoden gefunden, aber ich bin mir nicht sicher, wie Sie sie verwenden, um einen bestimmten Controller & Aktion.

Antwort

16

Senden Sie eine Ajax-Aufruf

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