Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用ajax更新rails中子任务的描述时出错_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery 使用ajax更新rails中子任务的描述时出错

Jquery 使用ajax更新rails中子任务的描述时出错,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我有一个应用程序,我在其中创建任务和这些任务下的子任务。这些新的子任务是使用ajax创建的,因此我不需要刷新页面。因此,现在每个子任务都有一个与之关联的引导模式。该模式有一个描述表单,它更新子任务的描述字段 问题是,所有通过ajax创建的子任务,它们的描述我无法更新,我得到一个错误,说没有路由匹配子任务/:id,但是当我刷新页面并再次执行相同的操作时,它工作了 我不知道为什么会发生这种情况 下面是代码子任务/descform <%=subtask.description

我有一个应用程序,我在其中创建任务和这些任务下的子任务。这些新的子任务是使用ajax创建的,因此我不需要刷新页面。因此,现在每个子任务都有一个与之关联的引导模式。该模式有一个描述表单,它更新子任务的描述字段

问题是,所有通过ajax创建的子任务,它们的描述我无法更新,我得到一个错误,说没有路由匹配子任务/:id,但是当我刷新页面并再次执行相同的操作时,它工作了

我不知道为什么会发生这种情况

下面是代码子任务/descform

         <%=subtask.description %><br>
                 <a data-id='<%=subtask.id %>' href="#" id='editdesc_<%=subtask.id %>'>Edit description...</a>
                  <div class="subtaskdescform" id="subtaskdesform_<%=subtask.id %>">
                  <%=form_for subtask,:remote=>:true,:method => :put do |f| %>
                  <%= f.text_area :description,rows:'5',cols:'12',:class=>'myarea'%>
                  <%= f.submit "save",class:'btn btn-success col-md-4' %>
                  <a data-id='<%=subtask.id %>' href="#" class="myclose"><i class="fa fa-times fa-lg" style="margin:10px auto;"></i></a>
                  <% end %>
                  <script type="text/javascript">
                  $('.mydes > a').click(function(e){
          $('#subtaskdesform_' + $(this).data('id')).show(1000);
          e.preventDefault();
        });
        $('.myclose').click(function(e){


          $('#subtaskdesform_'+ $(this).data('id')).hide(1000);
          e.preventDefault();
        });
        </script>



                </div>

您有表单的方法“PUT”:

我想你必须回顾一下路线。在routes中,子任务的方法似乎是“GET”,但在形式上,您请求的是“PUT”。使用以下命令检查子任务路径方法:

rake routes

Change:method=>:put to:get

我实际上找到了解决方案,这是因为一些ajax问题。解决了它,现在工作正常。无论如何,感谢您的帮助
form_for subtask, :remote=>:true, :method => :put
rake routes