2011-08-29 10 views
3

경로와 관련하여 도움이 필요합니다. 다음은 현재 사용중인 경로입니다. 내가 레이크 경로를 실행할 때레일 3 중첩 경로 질문

resources :users, :only => [:index, :show, :create, :destroy] do 
    resources :links, :only => [:create, :destroy], :shallow => true, :on => :member 
end 

와 나는 얻을이

root    /(.:format)      {:controller=>"users", :action=>"index"} 
    user_links POST /users/:user_id/links(.:format) {:action=>"create", :controller=>"links"} 
    link  DELETE /links/:id(.:format)   {:action=>"destroy", :controller=>"links"} 
    users  GET /users(.:format)    {:action=>"index", :controller=>"users"} 
       POST /users(.:format)    {:action=>"create", :controller=>"users"} 
    user  GET /users/:id(.:format)   {:action=>"show", :controller=>"users"} 
       DELETE /users/:id(.:format)   {:action=>"destroy", :controller=>"users"} 

하지만 난 내 경로가 내가 가진하지만 난 그것을 가지고 어떻게 기억할 수있는 인이 될 얻기 위해 노력하고 있어요 작업. 내가 잘못 뭐하는 거지 :(

root    /(.:format)      {:controller=>"users", :action=>"index"} 
    user_links POST /users/:user_id/links(.:format) {:action=>"create", :controller=>"users/links"} 
    link   DELETE /links/:id(.:format)   {:action=>"destroy", :controller=>"users/links"} 
    users  GET /users(.:format)    {:action=>"index", :controller=>"users"} 
       POST /users(.:format)    {:action=>"create", :controller=>"users"} 
    user   GET /users/:id(.:format)   {:action=>"show", :controller=>"users"} 
       DELETE /users/:id(.:format)   {:action=>"destroy", :controller=>"users"} 

내가 무엇을 놓치고

편집 :??.. 나는 위의 정말 많은 노선의 차이는 이것이다 말하지 않는 것 같아요

user_links POST {:action=>"create", :controller=>"links"} 
    link  DELETE {:action=>"destroy", :controller=>"links"} 


    user_links POST {:action=>"create", :controller=>"users/links"} 
    link  DELETE {:action=>"destroy", :controller=>"users/links"} 

어쩌면이 조금 도움이 될 것입니다.

+0

내가의 차이를 볼 수 없습니다 또한 링크 참조 노선? 이걸로 무엇을 하려니? –

+0

나는 링크 리소스를 사용하여 사용자와 링크 컨트롤러를 사용할 수 있기를 바랍니다. {: action => "create", : 컨트롤러 => "사용자/링크"}'및'{: action => "destroy", : 컨트롤러 => "users/links" "컨트롤러"=> "링크"}'와'{: 액션 => "파괴", : 컨트롤러 => "링크"}' –

+0

비슷한 질문에 대한 답변보기 : http://stackoverflow.com/ a/11849385/317884 –

답변

1

이 첫 번째 시도 routes.r의 모든 옵션을 삭제 B

resources :users do 
    resources :links, :module => 'users' 
end 
+0

고마워요.하지만 여전히 같은 경로로 결과가 나옵니다. –

1

시도는 제거 할 수는 : 얕은 => 사실은 ... 그리고 사용자를 볼 수/

http://ryandaigle.com/articles/2008/9/7/what-s-new-in-edge-rails-shallow-routes

+0

고마워, 나는 그것이 내가 처음부터 아이디어를 얻은 곳이라고 생각한다. 나는 그것을 제거하려했지만 여전히': controller => ' "링크를 가지고있다"나는 다른 것을 놓치고 있어야한다. –