부모 컨트롤러를 사용하는 두 개의 중첩 된 리소스가 있습니다. params[:parent_id]
및 params[:id]
대신 params[:parent_id]
및 params[:child_id]
이 표시되도록하려면 매개 변수 이름을 어떻게 바꿀 수 있습니까? 그렇지 않으면 내가 다루고있는 아이를 결정할 방법이 없습니다.레일 3 다중 중첩 경로 동일한 컨트롤러
지금은 각 개별 자식 경로 match 'child/:child_id' => 'parent#show'
을 매핑하고 있습니다. 그러나 이는 약 5 개의 경로가있는 것과 같이 거의 모든 DRY 규칙을 위반합니다. 여기
resources :parent do
resources :child1, :controller => :parent
resources :child2, :controller => :parent
end
는 내가하고 싶은 것입니다
resources :parent do
resources :child1, :controller => :parent, :key => :child1_id
resources :child2, :controller => :parent, :key => :child2_id
end
업데이트 난 그냥 경로를 다시거야
따라서 부모는 각 하위 아래에 중첩됩니다. 이것이 원래 행해지 지 않은 이유는 그 (것)들을 쓴 전직 동료가 자신이하는 일을 모르기 때문입니다. 난 그냥 부모가 각 자녀 아래에 중첩가되도록 경로를 다시거야
resources :child1 do
resources :parent
end
resources :child2 do
resources :parent
end
경로 코드와 약간의 컨트롤러 코드를 추가 할 수 있습니까? – Ant
child1_controller 등을 사용하는 대신 parent_controller 만 사용하려는 특별한 이유가 있습니까? – Ant