2011-08-10 2 views
0

레일스에서 ​​'쇼'작업의 기본 경로는 /post/:id입니다. /post/:pid과 같이 어떻게 변경합니까?레일에서 풍부한 경로를 사용자 정의하려면 어떻게해야합니까?

것은 내가 포스트 인스턴스의 PID를 통과하게 to_param 방법

def to_param 
    self.pid 
end 

를 오버라이드 (override)에 대해 읽고,하지만 PARAMS 등의 작업에 사용할 수 있습니다 것 [: ID] 적절하지 않다.

내가 원하는 것은 어떤 조치로든 params[:pid]은 나에게 포스트 인스턴스의 PID를 줄 것입니다.

미리 감사드립니다.

+2

당신은 수완 경로로이 작업을 계속해야 할 필요가있다? 이러한 사용자 지정을 수행하는 경우 사용자 지정 경로가 적절하게 보입니다. – ghayes

+0

http://railscasts.com/episodes/63-model-name-in-url 언제든지 그것을 볼 수 있습니다. –

+0

링크가 to_param 메소드를 무시하도록 지시합니다. 내 게시물에 대해 언급했다 -하지만 내가 할 수있는 행동을 할 수 있는지 알고 싶습니다 - pid = params [: pid]보다는 pid = params [: id] – Sunil

답변

0

경로에 넣고보십시오 :

match "/post/:pid" => "post#show" 
+0

내가 원하는 경우 할 수 있습니다. 이것은 숙련 된 루트로서. – Sunil

+0

게시물에 대한 수완이있는 경로 앞에이 줄을 추가하십시오. Rails는 경로에서 처음으로 일치하는 경로를 선택합니다. – Shanison

관련 문제