2009-08-11 2 views
2

RESTful URL 및 요청 유형을 사용하여 동작의 기본 매핑을 변경할 수 있기를 원합니다. /fruits/:id 전화 fruits 컨트롤러 show 행동에 GET 요청을 전송, 기본적으로 경로에 map.resources :fruits을 추가 한 후 예를 들어레일에서 기본 REST 동작 변경

,

. 그러나 show 동작 대신 fruits 컨트롤러에서 사용자 지정 동작 (예 : display)을 호출하고 싶습니다. 어떻게해야합니까? 이것은 라우트 구성이어야합니다.

+0

이것은 귀하의 질문과 직접적인 관련이 없지만 Rails의 "RESTful 라우팅"은 REST와 아무 관련이 없습니다. 예쁜 URI는 REST와 직교합니다. "RESTful URL"과 같은 것은 없습니다. REST에 관심이 있다면 좀 더 읽어보십시오. Fielding의 논문은 신뢰할만한 출처이거나이 사이트의 REST 설명을 찾아 볼 수 있습니다. – aehlke

답변

1
나는이 페이지를 읽어보실 것을 추천하고 싶습니다

:

그것은 구체적으로 라우팅과 관련된 모든 측면을 설명

http://guides.rubyonrails.org/routing.html

.

사용 : path_names를 사용하면 새로 생성 된 경로와 수정 된 경로를 사용자 정의 할 수 있습니다. 을 show 동작 활성화에서 display 동작 활성화로 변경하려는 경우 변경 사항은 사용자에게 표시되지 않습니다. 그리고 당신은 뚜렷한 이유없이 흐름에서 벗어날 것입니다.

+3

중첩 된 리소스, 특히 깊이 중첩 된 리소스를 사용하는 경우에는 실제로이 작업을 수행해야합니다. 어떤 시점에서 기본값을 받아들이면 막대한 양의 컨트롤러가 확산되고이를 오버라이드하면 동일한 컨트롤러에 여러 리소스를 보내고 중첩 된 구조를 유지할 수 있습니다. 특히 색인 작업 만 있고 더 복잡한 자식 리소스가없는 상위 컨트롤러로 끝낼 때 특히 유용합니다. –