2012-09-05 4 views
1

URL의 변수를 기반으로 정보를 채우려는 레일 앱의 리소스에 액세스하려고합니다. 내가 resource에 요소를 추가 레일에 variable를 전달하고자하는레일 : URL에 변수 전달

someapp.com/resources/variable/resource 

: URL을 감안할 때. 이를 달성하기위한 빠른 재 라우팅 방법이 있습니까? 또는 미친 듯이 복잡합니까?

건배!

답변

7

"미친 듯이 복잡해야"하는 부분은 없지만 성취하고자하는 것은 분명하지 않습니다.

당신은 변수 세그먼트 경로를 추가하는 시도 할 수 :

get "/resources/:variable/resource" => "controller#action" 

그런 다음, 컨트롤러, 액세스 params[:variable]에. 당신의 이미 자원이 정의한 경우


, 다음을 통해 추가 "회원"경로를 추가 할 수 있습니다

resource :resources do 
    get :resource, on: member 

    # or 

    member do 
    get :resource 
    end 
end 

이전의 하나는 자원 컨트롤러의 노선 /resources/:resource_id/resource에 컨트롤러를 수 resource 조치.

+0

그건 내게 단서를 제공합니다. 그러나 '자원/자원'이 이미 존재한다면 그것은 효과가없는 것 같습니다. 내'routes.rb'에는 이미'resources : resources'가 있습니다. –

+0

내 업데이트를 참조하십시오. 또한,'resources'는 자원에 대해 매우 나쁜 이름입니다. 리소스에는 해당 리소스가 나타내는 것과 일치하는 특정 이름이 있어야합니다. – meagar

+0

아, 그게 너무 많은 도움이되었습니다! 건배. 그리고 나의 자원은 그것의 이름을 지어지지 않았습니다, 저는 방금 예제를 위해 사용했습니다. 어느 쪽이 끝내야하는지 훨씬 복잡해졌습니다. –

관련 문제