Domanda

Dopo aver seguito un esercitazione Ive ha trovato. Im ora rifare di nuovo, senza la parte ponteggi, per imparare meglio.

Tuttavia, modificando il mio \ app \ vista \ home \ index.html.erb per contenere:

<h1>Rails test project</h1>
<%= link_to "my blog", posts_path>

ottengo un errore:

undefined local variable or method `posts_path' for #<ActionView::Base:0x4e1d954>

Prima ho fatto questo, ho fatto rake db:create, definito una classe di migrazione e corsi rake db:migrate, tutto senza un problema.

Quindi, il database dovrebbe contenere una tabella di messaggi. Ma quel comando link_to cant sembrano trovare posts_path. Quella variabile (o è ancora una funzione?) Probabilmente è definito attraverso la routine patibolo.

La mia domanda ora è; come faccio a farlo manualmente me stesso, definisco posts_path?

È stato utile?

Soluzione

È necessario definire un percorso per i tuoi messaggi config/routes.rb

Rails sintassi 2.x:

map.resources :posts

Rails sintassi 3.x:

resources :posts

Altri suggerimenti

I metodi _path sono generate dinamicamente in genere. L'errore mancante metodo avviene quando non c'è un percorso per l'oggetto specificato o in questo caso il metodo che si sta chiamando in modo esplicito.

La definizione di un percorso dovrebbe risolvere il problema. Hermand sopra ha mostrato un modo per farlo.

È possibile eseguire 'percorsi rake' dalla radice del vostro rotaie app per vedere tutti gli itinerari che sono configurate

<% = link_to "il mio blog", posts_path>

Se questo è esattamente ciò che il vostro erb conteneva, che manca il segno di percentuale alla fine dell'elemento scriptlet. Non sono sicuro se che ha causato il problema, o forse sto prendendo le cose troppo alla lettera ....

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