2009-02-28 13 views
1

J'ai un modèle de messages où les utilisateurs peuvent modifier et supprimer leurs propres messages. Ma page d'index est un tableau avec quelques colonnes pour chaque publication. L'un d'entre eux contient un formulaire pour le bouton Supprimer. Existe-t-il des exemples sur comment jquery soumet un formulaire de publication/suppression avec des rails? J'ai besoin de passer le statut à l'utilisateur. Par exemple. messages supprimés, accès refusé, etc. et supprimez la ligne si elle réussit.Comment supprimer un objet/une ligne avec jquery (format post)

Cordialement. Asbjørn Morell.

Répondre

1

Si l'action est réussie, la réponse sera réussie (c'est-à-dire 200 OK). Dans votre jQuery, vous pouvez ajouter une fonction d'erreur si la demande rencontre une erreur:

error: function() { 
    // the item has not been deleted 
    // and we encountered an error 
} 

Ensuite, dans votre contrôleur si vous voulez revenir explicitement votre erreur:

render :text => 'Could not compute!', :status => :unprocessable_entity 

Ou any other error. J'espère que cela t'aides.

+0

Bonjour, J'ai fini par vérifier simplement la variable flash []. Controller: si @ post.destroy flash [: ndlr] = "Post a été détruit" fin js.erb <% si le flash [: ndlr] == "Post détruit" %> Masquer la ligne etc. <% end %> Afficher le texte instantané – atmorell

-2

Vous devriez regarder dans la méthode link_to_remote; il utilise AJAX - je suppose que ce que vous voulez dire par 'JQuery'.

je fais normalement quelque chose comme:

<%= link_to_remote "Delete", :url => some_path(@object), :method => :delete %> 
-2

link_to_remote. Va créer Javascript intégré qui génère un formulaire de post. Cela ne fonctionnera pas si Javascript est désactivé.

J'ai créé un formulaire html standard, qui fonctionne sans Javascript, et j'aimerais le pimenter avec jquery si Javascript est activé.

<% form_for @post, :html => { :method => 'delete' } do |f| %> 
    <%= submit_tag "Delete", :name => "delete" %> 
<% end %> 

I found this blob last night, et il couvre presque ce que je voudrais faire. La seule chose que je ne peux pas comprendre, c'est comment je retourne une erreur ou un succès du contrôleur.