【发布时间】:2011-10-18 21:20:36
【问题描述】:
我在 rails 3 中有一个嵌套路由,映射为
resources :maps do
resource :versions
member do
post 'share'
get 'share'
end
end
但是当我尝试连接到http://localhost:3000/maps/35/versions/2 时,我得到了
没有路线匹配“/maps/35/versions/2”
在 rake 路线中 GET /maps/:map_id/versions/:id(.:format) {:controller=>"versions", :action=>"show"} 或类似的(带有:id)丢失 其他带有版本的路由正常工作
怎么了?
编辑 2: 这是完整的 rake 路由输出
maps_public GET /maps/public(.:format) {:controller=>"maps", :action=>"public"}
map_versions POST /maps/:map_id/versions(.:format) {:controller=>"versions", :action=>"create"}
new_map_versions GET /maps/:map_id/versions/new(.:format) {:controller=>"versions", :action=>"new"}
edit_map_versions GET /maps/:map_id/versions/edit(.:format) {:controller=>"versions", :action=>"edit"}
GET /maps/:map_id/versions(.:format) {:controller=>"versions", :action=>"show"}
PUT /maps/:map_id/versions(.:format) {:controller=>"versions", :action=>"update"}
DELETE /maps/:map_id/versions(.:format) {:controller=>"versions", :action=>"destroy"}
share_map POST /maps/:id/share(.:format) {:controller=>"maps", :action=>"share"}
GET /maps/:id/share(.:format) {:controller=>"maps", :action=>"share"}
maps GET /maps(.:format) {:controller=>"maps", :action=>"index"}
POST /maps(.:format) {:controller=>"maps", :action=>"create"}
new_map GET /maps/new(.:format) {:controller=>"maps", :action=>"new"}
edit_map GET /maps/:id/edit(.:format) {:controller=>"maps", :action=>"edit"}
map GET /maps/:id(.:format) {:controller=>"maps", :action=>"show"}
PUT /maps/:id(.:format) {:controller=>"maps", :action=>"update"}
DELETE /maps/:id(.:format) {:controller=>"maps", :action=>"destroy"}
【问题讨论】:
-
你也应该发布
rake routes的输出
标签: ruby-on-rails-3 nested-resources