0

: model/: id 대신 하나의 특정 모델의 : id를 사용하여 짧은 URL을 사용하고 싶습니다. 내가 등 예약 일도 유지, 즉 새/색인/편집예약 된 모델로 id로 라우팅하는 레일

조심 해요 물론 가정, 잘 작동 일치

match ":id" => "artist#show", :as => :artist 

를 사용하여 ID 작업 :

이 난을 만드는 방법을 알고 그러나 id : id가 일치 할 때 다른 모델을 계속 유지하려면 어떻게해야합니까? IE/label 또는 even/artist/new

또한 중첩과 함께이 작업을 수행하고 싶습니다. : artist_id/: album 사용자 정의 경로로 중첩 된 경로를 처리하기위한 쉬운 방법이 있습니까?

감사

답변

1

모든 경로가 모두 우선합니다. routes.rb의 short-url 경로 위에 특정 경로를 모두 추가하면 먼저 일치시킵니다. 더 구체적으로 일치하는 것이 없다면 Rails는이를 아티스트 # show로 라우팅합니다.

주어진 ID에 아티스트가없는 경우 관련 오류가 표시 될 수 있습니다. 누군가가 아티스트를 찾고 있지 않았으며 오류가있는 경우 제네릭 404를 기대할 수 있습니다.

+0

나는 그것이 경로 파일에서 우선 순위에 있다는 것을 깨닫지 못했고, 나는 고맙습니다. – holden