Bonjour,
j'essaye d'appliquer un exercice présent dans de nombreux tutoriels, soit enlever une ligne dans une liste avec un effet ajax, pour éviter le lien "destroy" qui recharge la page:
ainsi dans ma liste:
j'appelle donc dans mon controlleur, la méthode "delete_ajax_comment"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <% for comment in @comments %> <tr id="comment_<%=comment.id%>"> <% for column in Comment.content_columns %> <td><%=h comment.send(column.name) %></td> <% end %> <td><%= link_to 'Show', :action => 'show', :id => comment %></td> <td><%= link_to 'Edit', :action => 'edit', :id => comment %></td> <td><%= link_to 'Destroy', { :action => 'destroy', :id => comment }, :confirm => 'Are you sure?', :method => :post %></td> <td> <%= link_to_remote "ajax destroy", :url=>{ :action => 'delete_ajax_comment',:id =>comment.id} %> </td> </tr> <% end %>
finalement pour gèrer l'affichage, j'ai créé un fichier "delete_ajax_comment.rjs"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 def delete_ajax_comment @comment=Comment.find(params[:id]) @comment.destroy end
effectuant ceci:
voila mon problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 page.remove "comment_#{@comment.id}"
- le commentaire est bien effacé de la DB quand je clique sur "ajax destroy"
- la ligne n'est pas effacée de la page
ce que j'ai vérifié:
- avec firebug, je vois la requête POST "http://localhost:3000/en/tests/comment/delete_ajax_comment/8 (72ms)"
je vois la réponse du serveur
- j'ai évidemment vérifié la présence des javascripts (prototype etc.. ) dans la source.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 try { Element.remove("comment_8"); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.remove(\"comment_8\");'); throw e }
je n'ai pas d'erreurs javascript dans la console d'erreur, et aucuns messages étranges dans firebug, mise a part mon élément qui ne s'enlève pas de la page tout semble fonctionner normalement et sans bugs...
vu que mon commentaire s'efface de la db, que je n'ai ni erreur 500 ni 404 dans ma réponse dans firebug, je ne sais plus ou chercher....
je n'ai pas d'autres fantaisies dans mes pages, dispose d'un code XHTML simple.... je n'arrive pas a voir ce que j'ai oublié.... sans résoudre entièrement mon problème, ou me refaire un ènième tutoriel a ce sujet.... quelqu'un aurait une idée à me suggèrer pour guider mon débuggage ?
merci
julien
Partager