7

我有一个嵌套资源,在我的路线中看起来像这样:

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)

不幸的是,当我这样做时,我得到一个奇怪的网址:

/reviews/entries/new.1

显然,这也行不通。知道这里发生了什么吗?

4

1 回答 1

7

resources,不是resource。您的第一次尝试是正确的;)

resources :reviews do
    resources :entries
end

您应该resource在资源“唯一”时使用。例如,如果用户有一个配置文件,你会这样做:

resources :users do
    resource :profile
end
于 2013-01-20T22:48:13.490 回答