Question

J'essaie de réutiliser du code provenant d'une autre application de rails sur laquelle j'avais déjà travaillé. J'ai copié tous les modèles / vues / contrôleurs / migrations et lancé rake db: create and migrate. Maintenant, lorsque j'essaie d'exécuter l'application, la page initiale de cette vue (celle qui contient la liste modifier / supprimer) se charge très bien et indique qu'il y a 0 enregistrements. Cependant, lorsque je clique sur nouveau, un message d'erreur s'affiche sur un morceau de code créé par l'échafaudage dans mon autre application ...

<%= link_to 'New comment', new_comment_path %>

undefined local variable or method `new_comment_path' for #<ActionView::Base:0xb67c9690>

Si je suis capable de réutiliser ce code ou si c'est quelque chose d'autre, je dois le faire pour m'assurer que tout a été déplacé. J'ai essayé d'utiliser grep pour trouver où le 'new_comment_path' était défini dans mon autre projet et je l'ai seulement vu utilisé dans un contexte similaire à celui décrit ci-dessus. Toute aide serait la bienvenue.

Était-ce utile?

La solution

Cette erreur indique qu'il vous manque des itinéraires.

Archivez le fichier conf / routes.rb dans l'application à partir de laquelle vous copiez.

Tout ce que vous avez à faire est probablement d'ajouter

map.resources :comments

à votre routes.rb

Et ajoutez cela pour tous les contrôleurs que vous avez copiés.

Autres conseils

Si vous avez le temps, ou si vous prévoyez de le faire à nouveau, vous pouvez envisager de transformer les candidats en réutilisation dans un plug-in, ou d'utiliser la fonctionnalité de moteurs de la version 2.3 (ou installer le plug-in rails_engines pour les versions un peu plus anciennes)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top