Domanda

Sto cercando di riutilizzare un po 'di codice da un'altra applicazione Rails su cui avevo lavorato in precedenza. Ho copiato tutti i modelli / viste / controller / migrazioni e ho eseguito rake db: create and migrate. Ora, quando provo a eseguire l'applicazione, la pagina iniziale per questa vista (quella che ha l'elenco modifica / cancella) si carica bene e mostra che ci sono 0 record. Quando faccio clic su Nuovo, tuttavia, viene visualizzato un messaggio di errore su un po 'di codice creato dallo scaffolding nell'altra mia applicazione ...

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

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

Dovrei essere in grado di riutilizzare questo codice o è qualcos'altro che devo fare per assicurarmi di aver spostato tutto. Ho provato ad usare grep per trovare dove 'new_comment_path' veniva definito nell'altro mio progetto e l'ho visto usato solo in un contesto simile a quello sopra elencato. Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

Questo errore mostra che mancano i percorsi.

Controlla il file conf / route.rb nell'app da cui stai copiando.

Molto probabilmente tutto ciò che devi fare è aggiungere

map.resources :comments

al tuo route.rb

E aggiungilo per tutti i controller che hai copiato.

Altri suggerimenti

Se hai tempo o ti aspetti di farlo di nuovo, potresti prendere in considerazione l'idea di riutilizzare i candidati in un plug-in o utilizzare la funzione dei motori in 2.3 (o installare plug-in rails_engines per versioni leggermente più vecchie)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top