내가 현재 작업하고있는 응용 프로그램의 현재 경로에서 경로 세그먼트 키의 수를 결정해야하며 관련 레일스 3 소스 파일에서 약간 파고 들기는하지만 알아낼 수는 없습니다. 레일스 3 경로에서 세그먼트 키를 얻는 방법은 무엇입니까?
나는 현재 경로에서 경로를 구축url_for
및
request
를 사용하는 방법을 알고 있지만, 사실은
url_for
가 사용하는 경로에 매핑되는
ActionController::Routing::Route
에 도착하는 방법을 모르겠어요. 필요한 경로의 인스턴스를 얻을 수 있다면 Route # segment_keys를 호출하여 필요한 것을 얻을 수 있습니다.
아무도 관심이있는 경우, 내가 이것을하는 이유는 선택 드롭 다운으로 리소스를 전환 할 수 있고 현재 선택된 리소스에 적용되는 현재보기에 머무를 수 있지만 현재 경로가없는 경우에만 입니다. t는 중첩 포함 경로 (즉 /resources/2/subresources/1
subresource
때문에 번호 /resources/1/subresources/1
사이하지 전환을 /resources/1/edit
/resources/2/edit
에 있지만 1 resource
2의 아이가 아닌 토글).
모델 구조는 무엇입니까? http://guides.rubyonrails.org/이 모든 것을 설명합니다. – jvatic
@jvatic 주어진 경로에 대한 경로 세그먼트 수를 얻기 위해 모델은 무엇을해야합니까? 그리고 가이드의 위치는 어디입니까? 기꺼이 거기에서 읽을 것이지만 API 문서에서도 다루지 않습니다 ... – coreyward
http://guides.rubyonrails.org/routing.html을 읽으십시오. jQuery를 사용하여 토글을 매우 쉽게 할 수 있습니다. 자바 스크립트에 대한 회신에 불편 함이 더 나은 해결책 중 하나 일 수 있습니다. 또 다른 옵션은 중첩 된 경로를 사용하고 두 모델 컨트롤러에서 이전 필터에 매개 변수를 전달하는 것입니다. – jvatic