При автосохранении с помощью jQuery, как мне отправить форму «обновить», а не «создать» после первого сохранения? - PullRequest
0 голосов
/ 11 октября 2011

Ответ на этот вопрос: Что такое RESTful способ сохранить черновики сообщений?

Мне интересно, создаваемые представления всегда отправляются в действие "создать" врельсы.Как я могу сделать:

  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.Как только форма отправлена ​​на контроллер, вызывается и запускается этот встроенный файл javascript ruby.В настоящее время я делаю переменную «черновик» доступной для файла так, чтобы:

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

Может быть, этот файл является местом для выполнения моей задачи?

Если требуется дополнительная информация,я знаю.

1 Ответ

1 голос
/ 11 октября 2011

Возможно, вы можете попробовать это: после того, как вы вернете идентификатор записи из первой отправки формы ajax, вы можете изменить последующую отправку формы, указав идентификатор записи и изменив метод формы с POST на UPDATE. Это должен быть спокойный способ запуска обновлений записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...