2009-04-17 3 views
3

내 응용 프로그램에서 설정 한 다음 라우팅 (형태가 사이트에 속해) 한 : 그러나이상한 레일 라우팅 동작 : 중첩 된 자원을 주변 교환이 식별자

map.resources :sites do |site| 
site.resources :forms 
end 

, 내가 경로로 이동하려고 헬퍼를 사용하여 양식 (예 : 편집 (또는)에 대한

edit_site_form_path(form) 

또는

<%= link_to 'Show', [:site, form] %> 

내 URL을

오고있다 ID가 바뀐 (/ sites/5/forms/1) 5는 ID 양식이고 1은 사이트 ID입니다. 이것은/sites/1 페이지의 내용입니다.

도움말 (?)

답변

4

edit_site_form_path 메서드는 두 개의 매개 변수의 사이트 ID와 form_id을 가지고있다. 그래서 귀하의 예제에서 당신은 form_id에 전달됩니다. 첫 번째 매개 변수는 모델에서 가장 먼저 오는 메소드이며이 경우에는 site입니다. 두 번째 매개 변수는 form_id입니다.

개정 된 경로 방법

+0

빙고 (당신이 모델 Formbelongs_to :site이 가정)이

edit_site_form_path(form.site, form) 

처럼 보일 수 있습니다 - 내 생각은 내가 당신을 사랑이 나를 미치게되었습니다) –