繁体   English   中英

使用jQuery自动保存时,如何在第一次保存后提交表单以“更新”而不是“创建”?

[英]When autosaving w/jQuery, how do I submit a form to “update” rather than “create” after the first save?

这个问题的后续措施: 保存草稿帖子的RESTful方法是什么?

我想知道,创建的提交始终提交到rails中的“ create”操作。 我该如何做:

  1. 第一次自动保存创建一个条目
  2. 所有后续自动保存都会更新保存的条目
  3. 最终提交更新相同的条目

有关信息,请首先参阅相关问题。 另外,我在Post模型上执行此操作,在其中添加了可以为true或false的字段“草稿”。 我的jQuery提交是:

 $(document).ready(function() {
    $('#new_post').append('<div class="temp"> </div>');
    setInterval(function() {

      { $('#new_post .temp').html('<input type="hidden" name="post[draft]" id="post_draft" value="true" />');
  draft = $('#draft');
}

      $('#post_form form[data-remote]').submit();

     $('#new_post .temp').html('');
      }, 1000*30); // 1000ms * 60s = 1m

 });

该文件创建一个隐藏的字段“草稿”,提交表单,然后删除该字段。

另外,另一个可能有用的文件是create.js.erb。 表单提交给控制器后,将调用并运行此嵌入式ruby javascript文件。 目前,我为文件提供了一个变量“草稿”,使得:

 <% if draft %>
      #maybe putting code here can change the form to submit to "update" action next time?
 <% else %>
      # code that executes if it's a final submission, updating tables etc..
 <% end %>

也许此文件是完成我的任务的地方?

如果需要更多信息,请告诉我。

也许您可以尝试以下方法:从第一个ajax表单提交取回帖子ID后,您可以修改后续的表单提交以提供帖子ID,并将表单方法从POST更改为UPDATE。 那应该是触发记录更新的一种轻松方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM