使用AJAX

时间:2019-01-30 13:30:02

标签: jquery ruby-on-rails ajax

使用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

错误删除项目,不要隐藏...

1 个答案:

答案 0 :(得分:1)

您应该在任务控制器中更改它

respond_to do |format|
 format.js 
end 

代替render json: @task