[英]Nested resources and setting up my controllers, rails 3
So Im trying to nest my resources so that members have images, here is my route所以我试图嵌套我的资源,以便成员有图像,这是我的路线
resources :members, :except => [:new, :create] do
resources :tattoos
end
which gives me these paths when I rake routes:当我耙路线时,这给了我这些路径:
member_tattoos GET /members/:member_id/tattoos(.:format) {:action=>"index", :controller=>"tattoos"}
POST /members/:member_id/tattoos(.:format) {:action=>"create", :controller=>"tattoos"}
new_member_tattoo GET /members/:member_id/tattoos/new(.:format) {:action=>"new", :controller=>"tattoos"}
edit_member_tattoo GET /members/:member_id/tattoos/:id/edit(.:format) {:action=>"edit", :controller=>"tattoos"}
member_tattoo GET /members/:member_id/tattoos/:id(.:format) {:action=>"show", :controller=>"tattoos"}
PUT /members/:member_id/tattoos/:id(.:format) {:action=>"update", :controller=>"tattoos"}
DELETE /members/:member_id/tattoos/:id(.:format) {:action=>"destroy", :controller=>"tattoos"}
members GET /members(.:format) {:action=>"index", :controller=>"members"}
edit_member GET /members/:id/edit(.:format) {:action=>"edit", :controller=>"members"}
member GET /members/:id(.:format) {:action=>"show", :controller=>"members"}
PUT /members/:id(.:format) {:action=>"update", :controller=>"members"}
DELETE /members/:id(.:format) {:action=>"destroy", :controller=>"members"}
But if I use these link_to's但是如果我使用这些 link_to
<%= link_to "Manage tattoos", member_tattoos_path %>
<br />
<%#= link_to "Upload new tattoo", new_member_tattoo_path %>
I get an error:我收到一个错误:
No route matches {:controller=>"tattoos"}
Even tho the tattoos_controller.rb does exist.即使纹身_controller.rb 确实存在。 What gives?
是什么赋予了?
And do I need to set up my tattoo_controller in any specific way?我需要以任何特定方式设置我的纹身控制器吗? I ask because now that I have the links right, I cant submit any new records, Im getting an error:
我问,因为现在我有正确的链接,我不能提交任何新记录,我收到一个错误:
Started POST "/members/1/tattoos/new" for 127.0.0.1 at 2011-08-17 13:11:40 -0400
ActionController::RoutingError (No route matches "/members/1/tattoos/new"):
You need to put your :member_id
in when using your path helper like so:使用路径助手时,您需要输入
:member_id
,如下所示:
member_tattoos_path(:member_id => @member.id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.