Rails:获取嵌套资源的“新”路径

时间:2013-01-20 22:35:15

标签: ruby-on-rails-3 url

我有一个嵌套资源,在我的路线中显示如下:

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

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

1 个答案:

答案 0 :(得分:7)

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

resources :reviews do
    resources :entries
end

当资源“唯一”时,您应该使用resource。例如,如果用户有一个配置文件,您可以执行以下操作:

resources :users do
    resource :profile
end