从rails中的js.erb调用Controller方法

Calling Controller method from js.erb in rails

本文关键字:调用 Controller 方法 erb js rails 中的      更新时间:2023-09-26

我一直试图从js.erb文件中调用一个控制器方法(删除一条记录)。我所拥有的:

var selection = confirm("Are you sure that you want to delete the record?");
if(selection == true){
    new Ajax.Request('/students/destroy', {
                method: 'post',
                parameters: {id: "#{student.id}"}
            });
    alert("deleted");
}

当用户单击"删除"按钮时,会调用此delete.js.erb。当用户确认删除时,我试图从js.erb调用destroy方法。请让我知道如何解决这个问题。非常感谢。

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!");
       }
   });
}

您的类型必须是delete。我想您使用的是CCD_ 2。

顺便说一句,这不是正确的做法。您应该使用ajax渲染。