在索引页面rails上格式化AJAX请求

时间:2016-10-22 15:19:26

标签: javascript jquery ruby-on-rails ruby ajax

我目前有一个基本的待办事项列表应用程序,显示任务"做"以及任务"已完成"在应用程序的索引页面上。模型"任务"具有属性"已完成"我在任务的显示页面中有一个链接:

<%= link_to "Completed", complete_task_path, method: :patch%>

页面刷新时列表更新,但我实际上无法在索引页面上发出更新此信息的AJAX请求。

我不确定我的网址应该是什么,因为我已尝试使用提供的#&#34; rake routes&#34;在控制台中。

我的complete.js.erb:

$(document).ready(function() {

console.log("working");


$('.task_submit_box').click(function() {

  $.ajax({url: '/tasks/:id/complete', success: function(result) {
    $('.task_area').html(result);
    console.log(result);
  }});

});

});

用于显示任务的html:

<ul class="wrapper_task_list">
    <% @task.each do |task| %>


    <% if task.completed == false %>
    <li>
      <div class="task_area", id="incomplete_task_area">
      <%= link_to task.title, task_path(task), class: 'wrapper_task_name'%>
      <%= form_for task, remote: true do |f| %>
        <%= f.check_box :completed, class: 'task_check_box' %>
        <%= f.submit 'update', class: 'task_submit_box' %>
      <% end %>
      </div>
    </li>
    <% end %>
    <% end %>
  </ul>

我的控制器中的完整方法:

def complete
    @task = current_user.tasks.find(params[:id])
    @task.update_attribute(:completed_at, Time.now)
    @task.update_attribute(:completed, true)

    respond_to do |format|
      format.js
      format.html
    end

    redirect_to root_path
  end

关于路线,这是&#34; rake路线&#34;命令:

complete_task PATCH  /tasks/:id/complete(.:format)  tasks#complete

0 个答案:

没有答案