2013-01-20 9 views
6

ho una risorsa nidificato che appare in questo modo nei miei percorsi:Rails: ricevendo il 'nuovo' percorso per una risorsa nidificato

resource :reviews do 
    resource :entries 
end 

Sto cercando di creare un collegamento per un nuovo percorso di entrata in questo modo :

<%= link_to "New Entry", new_review_entry_path(@review) %> 

Purtroppo, continuo a ricevere questo messaggio di errore:

undefined method `new_review_entry_path' for #<#<Class:0x5150d78>:0x483c798> 

ho controllato percorsi rake, e si scopre che la r oute dovrebbero essere pluralizzato in:

new_reviews_entries_path(@review) 

Purtroppo, quando lo faccio, allora ottengo un URL strano:

/reviews/entries/new.1 

Ovviamente, che non funziona, neanche. Qualche idea su cosa sta succedendo qui?

risposta

7

È resources, non resource. Il tuo primo tentativo era quella giusta;)

resources :reviews do 
    resources :entries 
end 

Si dovrebbe utilizzare resource quando la risorsa è "unico". Ad esempio, se un utente ha un profilo, si dovrebbe fare:

resources :users do 
    resource :profile 
end 
+0

Questo ha fatto il trucco. Grazie per la rapida risposta. – nullnullnull

Problemi correlati