0

对这个问题的跟进:什么是保存草稿帖子的 RESTful 方式?

我想知道,创建的提交总是提交到 Rails 中的“创建”操作。我该怎么做:

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

有关信息,请先查看相关问题。另外,我在 Post 模型上执行此操作,我在其中添加了一个可以为真或假的字段“草稿”。我的 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 文件就会被调用并运行。目前,我为文件提供了一个变量“draft”,这样:

 <% 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 %>

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

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

4

1 回答 1

1

也许你可以试试这个:在你从第一个 ajax 表单提交中获取 post id 后,你可以修改后续表单提交以提供 post id,并将表单方法从 POST 更改为 UPDATE。这应该是触发记录更新的一种宁静方式。

于 2011-10-10T21:41:58.000 回答