2013-01-20 169 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