2013-01-20 12 views
6

Mam zagnieżdżony zasób, który pojawia się tak jak w moich trasach:szyn: uzyskanie „nowej” drogi dla zagnieżdżonych zasobu

resource :reviews do 
    resource :entries 
end 

Próbuję utworzyć łącze do nowej ścieżki wejściowej jak tak :

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

Niestety, wciąż otrzymuję komunikat o błędzie:

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

Sprawdziłem trasy natarcia, a okazuje się, że r oute należy liczbę mnogą w:

new_reviews_entries_path(@review) 

Niestety, kiedy to zrobić, wtedy pojawia się dziwny URL:

/reviews/entries/new.1 

Oczywiście, że nie działa, albo. Masz pojęcie, co się tutaj dzieje?

Odpowiedz

7

To jest resources, a nie resource. Twoja pierwsza próba była słuszna;)

resources :reviews do 
    resources :entries 
end 

Należy użyć resource gdy zasób jest „wyjątkowy”. Na przykład, jeśli użytkownik ma jeden profil, zrobiłbyś:

resources :users do 
    resource :profile 
end 
+0

To wystarczyło. Dzięki za szybką odpowiedź. – nullnullnull