我有一个嵌套的资源,它看起来像这样在我的路由:
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>
我检查了rake路由,结果发现路由应该被复数化为:
new_reviews_entries_path(@review)
不幸的是,当我这样做的时候,我会得到一个奇怪的url:
/reviews/entries/new.1
显然,这也行不通。知道这是怎么回事吗?
是resources
,不是resource
。你的第一次尝试是正确的;)
resources :reviews do
resources :entries
end
当资源为"唯一"时,应使用resource
。例如,如果用户有一个配置文件,您可以这样做:
resources :users do
resource :profile
end