ruby on rails link_to méthode delete ne fonctionne pas
Je suis en train de supprimer un post à l'aide du code ci-dessous:
<%= link_to 'Destroy', post, :method => :delete, :onclick => "return confirm('Are you sure you want to delete this post?')" %>
qui ne fonctionne pas... simplement, il me redirige retour à la poste (posts/:id}
cependant, si j'utilise le code suivant qu'il fonctionne
<%= button_to 'Destroy', post, method: :delete, :onclick => "return confirm('Are you sure you want to delete this post?')" %>
est-il possible de faire link_to
se comporter comme button_to
dans ce cas?
EDIT: détruire la fonction de contrôleur de
def destroy
@post = Post.find(params[:id])
@post.destroy
respond_to do |format|
format.html { redirect_to posts_url }
format.json { head :no_content }
end
end
journal lorsque je clique sur le destroy:
Started GET "/posts/14" for 127.0.0.1 at 2012-10-21 15:38:28 +0300
Processing by PostsController#show as HTML
Parameters: {"id"=>"14"}
Post Load (0.4ms) SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 14 LIMIT 1
Rendered posts/show.html.erb within layouts/application (0.6ms)
User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.8ms)
[2012-10-21 15:38:28] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
routes:
devise_for :users
resources :users
resources :posts
match '/about' => 'about#index'
# You can have the root of your site routed with "root"
# just remember to delete public/index.html.
root :to => 'index#index'
# See how all your routes lay out with "rake routes"
# This is a legacy wild controller route that's not recommended for RESTful applications.
# Note: This route will make all actions in every controller accessible via GET requests.
# match ':controller(/:action(/:id))(.:format)'
match '*a', :to => 'error#routing'
Pouvez-vous confirmer que vous avez le jquery-gem rails dans votre Gemfile? Et si elle l'est, pouvez-vous également confirmer via votre site web à l'inspecteur que c'est envoyé vers le navigateur client.
ouais donc quand j'ai créé les rails de projet, j'ai enlevé l' //= lignes de app.js et qui a été à l'origine du problème... merci!
ouais donc quand j'ai créé les rails de projet, j'ai enlevé l' //= lignes de app.js et qui a été à l'origine du problème... merci!
OriginalL'auteur fxuser | 2012-10-21
Vous devez vous connecter pour publier un commentaire.
Vous devez être ajouter
dans javascripts/application.js fichier
deuxième, vérifiez dans le fichier de mise en page,
est d'inclure ou pas?
Espérons que cette aide.
OriginalL'auteur harsh4u
Solution:
J'avais commenté cette de application.js quand j'ai créé le projet
donc de le rajouter en résolu le problème
require jquery_ujs
est la partie importante, dans le cas qui n'est pas évident.OriginalL'auteur fxuser
Avez-vous compris cette ligne dans votre fichier de mise en page?
Et si vous remplacez le "demande" par ":les valeurs par défaut". Est que est utile ? <%= javascript_include_tag :defaults %>
ne semble pas fonctionner non plus... mon problème n'est pas l'alerte chose, mais le fait qu'il ne veut pas supprimer le post... juste pour s'assurer que...
Je suppose que <%= csrf_meta_tag %> est aussi à inclure dans votre mise en page...
correct... le bouton de la façon dont il fonctionne... le lien ne semble pas fonctionner...
OriginalL'auteur Nanego
C'est les Rails de chemin:
<%= link_to 'Destroy', post, confirm: 'Are you sure?', method: :delete %>
Si le poste n'est pas supprimé, le problème réside dans votre contrôleur. Êtes-vous sûr que vous avez correctement mis en œuvre les
#destroy
action? Quel est le résultat que vous obtenez dans votre serveur de logs?Mise à JOUR: Changer votre action:
Mise à jour de ma réponse. Si cela ne fonctionne pas non plus, vous devriez poster les logs du serveur.
ne fonctionne toujours pas... il y a 2 problèmes avec le ci-dessus link_to code... d'abord le confirmer ne pas afficher et deuxième je ne sais pas si la link_to atteint même la détruire de l'action... il paraît qu'il va à la poste... - edit : dans le dev journaux il y isny quelque chose de bizarre... il est tout simplement un
Eh bien, il ne devrait pas être en train de faire un obtenir. Vous pouvez poster vos journaux? Et vos itinéraires.rb fichier?
Aussi, essayez de supprimer le
format.json
lignes.OriginalL'auteur Agis
Assurez-vous qu'il n'y a pas d'espace après le param
OriginalL'auteur user2711795
Vérifier les espaces.
J'ai vérifié tous les commentaires ici. Toutes les comprend étaient fixés correctement. Mais j'ai remarqué que la suppression d'articles n'a pas de travail, tout en supprimant les commentaires de travail. Après la réécriture du code et de vérifier ici et là, j'ai trouvé deux fichiers qui ressemblait à l'identique dans l'éditeur, mais une version de travail et on n'a pas de travail!
curry-blog/app/views/articles/index.html.erb:
Cependant, en regardant les fichiers avec
xxdiff
j'ai trouvé que dans une seule version onglets lorsqu'elle est utilisée, tandis que l'autre a également utilisé des blancs. Probablement, à partir de copier-coller le code du tutoriel. Remplacer les espaces par des tabulations n'a donc corrigé le problème.OriginalL'auteur Sören