반응형
선택적 매개 변수를 사용한 라우팅
경로 파일에 추가했습니다.
map.show_book "/show_book/:name/year/:year", :controller => "book", :action => "show_version"
또한 다음을 추가했습니다.
map.show_book "/show_book/:name", :controller => "book", :action => "show_version"
연도를 지정하지 않고 최신 책을 표시합니다.
하지만 작동하지 않습니다. 1 년을 지나지 않으면 "show_book / NAME"에서 경로를 찾을 수 없습니다.
왜 작동하지 않는지 몇 가지 아이디어가 있습니까?
감사 !
추신. "? year = XXXX"의 매개 변수로 연도를 사용할 수 있다는 것을 알고 있지만 연도를 URL의 일부로 사용하고 싶습니다.
map.show_book "/show_book/:name(/year/:year)", :controller => "book", :action => "show_version"
두 번째 경로를 제거합니다.
최신 정보
위의 답변은 레일 3 이상에만 해당됩니다. 두 경로 정의를 반전하면 문제가 해결되었습니다 (아래 Alessandro의 설명 참조).
참조 URL : https://stackoverflow.com/questions/7281592/routing-with-an-optional-parameter
반응형
'programing tip' 카테고리의 다른 글
C ++의 맵에서 첫 번째 값 가져 오기 (0) | 2020.12.30 |
---|---|
Vim으로 HTML 태그를 접거나 펼치는 방법 (0) | 2020.12.30 |
싱글 톤 릴리스 방법이 경고를 생성합니까? (0) | 2020.12.30 |
DataContractSerializer를 사용하여 "예상되지 않은 유형"-하지만 단순한 클래스 일뿐 재미있는 것은 없습니까? (0) | 2020.12.30 |
Powershell 및 조건부 연산자 (0) | 2020.12.30 |