嵌套资源仍然需要rails 3.1中的嵌套基础资源

时间:2012-01-13 07:06:22

标签: ruby-on-rails-3.1 routes

我似乎在Rails 3.1中要求嵌套资源,而不是嵌套照片:

resources :photos
resources :gallery do
  resources :photos
end

否则我的form_for将不适用于要提交的照片或要查看的图库:

<%= form_for ([@gallery, @photo],:html => {:multipart => true}) do|f| %>

对画廊展示抱怨:

No route matches {:id=>#<Photo id: 23 ...

这是正常行为吗,我总是希望我的用户只能在图库的上下文中创建照片,但现在他们也可以访问照片/新照片,而我只让他们访问图库/:id / photos /新

1 个答案:

答案 0 :(得分:0)

路线可能很棘手。有时使用复数形式而不是单数形式会导致错误,特别是对于路径助手而言。复数的“画廊”是“画廊”

>> "Gallery".pluralize
=> "Galleries"

使用rake routes检查您的路线,我认为您应该使用复数形式

resources :galleries do 
  resources :photos
end