使用AJAX删除rails项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用AJAX删除rails项目相关的知识,希望对你有一定的参考价值。

无法使用AJAX删除项目

我的application.js

    //= require rails-ujs
    //= require activestorage
    //= require turbolinks
    //= require jquery3
    //= require jquery_ujs
    //= require_tree .

    $('[data-js-task-id]').on("ajax:success", function(event, data, status, xhr){
        var task_id = xhr.responseJSON.id;
        $('[data-js-task-id=' + task_id + ']').hide();
   });

我的index.html erb

     <li data-js-task-id=<%= task.id %> class="task">
                 <%= link_to task.title, task, class: "task-title text-dark ml-2" %>
                 <%= link_to '', task, remote: true, method: :delete, class:"far fa-trash-alt text-dark icon delete", title: "Delete" %>
    </li>

我的任务控制器

    def destroy
         @task.destroy
         render json: @task
     end

项目删除有错误,请勿隐藏...

答案

您应该在任务控制器中更改此设置

respond_to do |format|
 format.js 
end 

而不是render json: @task

以上是关于使用AJAX删除rails项目的主要内容,如果未能解决你的问题,请参考以下文章

Rails Cucumber使用Capybara测试AJAX

以下代码片段是不是容易受到 Rails 5 中 SQL 注入的影响?

如何让引导组件在使用rails的ajax之后打开?

jQuery绑定ajax:成功在rails 3应用程序中无法用于新创建的(ajax)项目

Rails 4数据表ajax路由问题

使用 AJAX 刷新 Rails 部分时的未定义方法