Enregistrement automatique d’un formulaire dans Rails avec AJAX

J’essaie de sauvegarder automatiquement un formulaire pour la nouvelle action Post. Toutes les minutes ou à peu près, je souhaite POST enregistrer dans # enregistrement automatique, puis je vérifie d’abord first_or_create et enregistre / met à jour l’enregistrement dans le tableau Posts. Mon problème est cependant, je ne peux plus accéder aux parameters POST à ​​partir du formulaire. J’essaie de le faire comme suit:

$(function() { if ($("#new_post").length > 0) { setTimeout(autoSavePost, 60000); } }); function autoSavePost() { $.ajax({ type: "POST", url: "/posts/autosave", dataType: "script", success: function(data) { console.log(data); } }); setTimeout(autoSavePost, 60000); } 

J’ai cette route:

 post 'posts/autosave', as: :autosave_post_path 

Le problème est que le journal du serveur indique que le hachage params contient uniquement: action et: controller. Comment puis-je accéder à l’équivalent de ce qui aurait été envoyé dans les données POST.

Vous devez également transmettre le paramètre data , via la méthode serialize :

 $.ajax({ type: "POST", url: "/posts/autosave", data: $("#new_post").serialize(), dataType: "script", success: function(data) { console.log(data); } }); 

Examinez la fonction serialize (): http://api.jquery.com/serialize/ : vous pouvez l’utiliser pour créer un tableau de données à transmettre à votre contrôleur en tant que parameters.