2009-03-13 6 views
0

J'essaie de réutiliser du code d'une autre application de rails sur laquelle j'ai travaillé précédemment. J'ai copié sur tous les models/views/controller/migrations et ai exécuté rake db: créer et migrer. Maintenant quand j'essaye d'exécuter l'application la page initiale pour cette vue (celle qui a la liste éditent/supprime) charge bien et montre il y a 0 enregistrements. Lorsque je clique nouveau, cependant, il affiche un message d'erreur sur un bit de code créé par l'échafaudage dans mon autre application ...Réutilisation du code d'une autre application Rails

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

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

Dois-je être en mesure de réutiliser ce code ou est leur autre chose que je besoin faire pour s'assurer que j'ai tout déménagé. 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 à ce qui est indiqué ci-dessus. Toute aide serait appréciée.

Répondre

7

Cette erreur indique qu'il vous manque des routes.

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

Très probablement tout ce que vous devez faire est d'ajouter

map.resources :comments 

à votre routes.rb

Et ajouter que, pour tous les contrôleurs que vous avez copié.

+0

Merci que définitivement fixé le problème. –

1

Si vous avez le temps, ou attendez de le faire à nouveau, vous pourriez envisager de faire les candidats de réutilisation dans un plug-in, ou utiliser les moteurs disposent de 2.3 (ou installer le rails_engines plugin pour les versions un peu plus)

+0

Merci. Je vais devoir m'en occuper un peu plus. Ce sont mes premières applications de rails «vraies» sur lesquelles je travaille. –

Questions connexes