Lors de l’enregistrement automatique avec jQuery, comment puis-je envoyer un formulaire pour «mettre à jour» plutôt que «créer» après la première sauvegarde?

Un suivi de cette question: quel est un moyen RESTful pour enregistrer des brouillons de messages?

Je me demande si les soumissions créées sont toujours soumises à l’action “créer” dans les rails. Comment puis-je faire:

  1. La première sauvegarde automatique crée une entrée
  2. Toutes les sauvegardes automatiques suivantes mettent à jour l’entrée enregistrée
  3. La soumission finale met à jour la même entrée

Pour plus d’informations, consultez d’abord la question connexe. En outre, je fais cela sur le modèle Post, où j’ai ajouté un champ “brouillon” qui peut être vrai ou faux. Ma soumission jQuery est:

$(document).ready(function() { $('#new_post').append('
'); setInterval(function() { { $('#new_post .temp').html(''); draft = $('#draft'); } $('#post_form form[data-remote]').submit(); $('#new_post .temp').html(''); }, 1000*30); // 1000ms * 60s = 1m });

Ce fichier crée un champ “brouillon” masqué, soumet le formulaire, puis supprime le champ.

En outre, un autre fichier qui peut être utile est create.js.erb. Une fois le formulaire soumis au contrôleur, ce fichier javascript ruby ​​intégré est appelé et exécuté. Actuellement, je mets au fichier une variable “brouillon” telle que:

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

Peut-être que ce fichier est un endroit pour accomplir ma tâche?

S’il y a plus d’informations requirejses, faites le moi savoir.

Vous pouvez peut-être essayer ceci: une fois que vous avez récupéré l’ID de publication de la première soumission de formulaire ajax, vous pouvez modifier la soumission de formulaire suivante pour fournir l’ID de publication et modifier la méthode de formulaire de POST à ​​UPDATE. Cela devrait être un moyen reposant de déclencher les mises à jour des enregistrements.