2013-01-20 166 views
6

我有一個看起來像這樣在我的路線嵌套資源:Rails的:讓「新」路徑嵌套資源

resource :reviews do 
    resource :entries 
end 

我試圖創建一個鏈接,像這樣的新條目路徑:

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

不幸的是,我不斷收到此錯誤信息:

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

我查耙路線,事實證明,將R歐特應該使用複數爲:

new_reviews_entries_path(@review) 

不幸的是,當我這樣做,然後我得到一個奇怪的網址:

/reviews/entries/new.1 

顯然,這是不行的,無論是。任何想法這裏發生了什麼?

回答

7

這是resources而不是resource。你的第一次嘗試是正確的;)

resources :reviews do 
    resources :entries 
end 

你應該使用resource當資源是「獨一無二」的。例如,如果用戶有一個配置文件,你會這樣做:

resources :users do 
    resource :profile 
end 
+0

這樣做的伎倆。感謝您的快速響應。 – nullnullnull