2016-08-01 4 views
0

Ich habe versucht, eine Controller-Methode (um einen Datensatz zu löschen) aus JSERB-Datei aufrufen. Was ich habe:Aufruf von Controller-Methode von js.erb in Schienen

Diese delete.js.erb wird aufgerufen, wenn der Benutzer auf die Schaltfläche "Löschen" klickt. Ich versuche, Methode von js.erb zu zerstören, wenn der Benutzer die Löschung bestätigt. Bitte lassen Sie mich wissen, wie Sie das beheben können. Vielen Dank!

+0

warum nicht einfach die schienen weg 'remote: true'? oder musst du jquery benutzen? – mrvncaragay

+0

Haben Sie es mit <℅ = @ student.id> versucht? Was genau ist deine Controller-Variable? – tworitdash

Antwort

0
if(selection == true){ 
    var student_id = <%= student.id %>; 
    $.ajax({ 
     type: "DELETE", 
     url: "/students/"+ student_id +"/destroy", # instead use the destroy path like <%= student_path(student) %> 
     success: function (result) { 
     window.alert("success!!"); 
     }, 
     error: function(){ 
     window.alert("something wrong!"); 
     } 
    }); 
} 

Ihr Typ muss delete lauten. und ich nehme an, dass Sie Jquery verwenden.

BTW, das ist nicht der richtige Ansatz. Sie sollten Ajax-Rendering verwenden.