ruby-on-rails-3 - 导轨 : getting the 'new' path for a nested resource

标签 ruby-on-rails-3 url

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

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

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

最佳答案

这是资源,而不是资源。你的第一次尝试是正确的;)

resources :reviews do
    resources :entries
end

当资源“唯一”时,您应该使用resource。例如,如果用户只有一个个人资料,您将执行以下操作:

resources :users do
    resource :profile
end

关于ruby-on-rails-3 - 导轨 : getting the 'new' path for a nested resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14430101/

相关文章:

ruby-on-rails - rails mongoid 中的多键索引

ruby-on-rails-3 - 让 select2 与事件管理员一起工作

ruby-on-rails - 验证器 before_update(ing) 一个模型

android - 从 Android 中的 url 加载图像,只有在小的时候

ruby - 未定义方法 `[]' 为 nil :NilClass):

ruby-on-rails - 删除 Rails 中的关联模型

codeigniter - 如何使我的 codeigniter url seo 友好

url - Travis-CI 错误 : installing nloptr pkg (r pkg check)

regex - 正则表达式 URL

javascript - 如何获取 URL 中的 #!hashbang 值?