9
votes

Pourquoi les rails "link_to" ne fonctionne pas pour supprimer une action?

in index.html.erb code> i Affichez tous les produits et à côté de chaque produit que j'ai edit code> et Supprimer code> Actions:

root :to => "products#index"
resources :products


2 commentaires

Avez-vous essayé d'ajouter l'action de spectacle, même si vous ne l'utilisez pas pour que vos itinéraires soient couverts? ... Juste une pensée


Avez-vous supprimer une action dans votre contrôleur? Et essayez également Rake: Commande d'itinéraire pour voir si le chemin Supprimer est défini correctement.


4 Réponses :


2
votes

Il doit être produit_path (produit) au lieu de produit dans votre lien Supprimer.


2 commentaires

Que ressemble au HTML résultant pour la balise de liaison?


Supprimer



12
votes

Avez-vous rails.js spécifié dans un javascript_include_tag ? Ceci est requis pour la méthode de la méthode non obstrissante. Si vous utilisez jQuery, il y a un solution pour cela aussi.


7 commentaires

Dans la source de page, je vois que rails.js est chargé. J'utilise jQuery 1.4.4. Est-ce un problème ? Je viens de le télécharger sur le site officiel et le mettre dans JavaScript_include_tag . Dois-je le remplacer par des fichiers de votre lien? Que dois-je télécharger exactement?


@ Misha: Téléchargez le fichier rails.js dans le répertoire SRC et placez-le dans votre dossier public / Javascripts comme rails.js. Si vous utilisez jQuery, vous doit remplacer le prototype rails.js avec l'équivalent jQuery.


@Ryan: Merci beaucoup pour me guider! Si j'utilise jQuery plutôt que prototype, ai-je toujours besoin de javascript_include_tag: par défaut ?


J'ai supprimé javascript_include_tag: par défaut et mettre javascript_include_tag 'jQuery-1.4.4.min.js', 'rails.js' à la place (le nouveau rails.js < / code>, du lien ci-dessus). L'erreur est toujours la même: L'action 'show' est introuvable pour les produitsController . Quoi d'autre pourrait-être faux ?


@Misha: Vous pouvez modifier les valeurs par défaut à l'aide de cet objectif dans config / application.rb config.action_eview.javascript_expansions [: par défaut] = ["jQuery", "rails"]


@RYAN: Nice! Vous dites donc de changer les valeurs par défaut et de supprimer javascript_include_tag 'jquery-1.4.4.min.js', 'rails.js' , non? Mais comment les rails sauront-ils quel fichier / version jquy à utiliser?


Le problème était avec le fichier rails.js que j'ai téléchargé. J'ai téléchargé du fichier HTML à la place et l'ai appelé rails.js . Si stupide ... maintenant tout fonctionne bien. Merci pour votre temps!



0
votes

J'ai eu le même problème - j'avais changé mon ancienne action "Supprimer" pour "détruire" - mais j'ai oublié si votre utilisation SSL .. (E.g SSL_Requirequired: Détruire)


0 commentaires

5
votes

n'oubliez pas d'inclure jquery_ujs dans votre application.js fichier: xxx


0 commentaires