简体   繁体   English

嵌套资源和设置我的控制器,rails 3

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM