2011-10-20 4 views
1

컨트롤러에 정의 된 동작을 기반으로 "자동으로"경로를 생성하려고합니다. 리소스 라우팅 (내가 아는 한)은 http 동사에 대한 경로 & 헬퍼를 자동으로 생성합니다. 이 예에서는 주로 레일을 사용하는 정적 페이지를 제공하고 있으며 내 컨트롤러에서 http 동사가 필요하지 않습니다. 특히레일 컨트롤러 동작 라우팅

: 그 대부분 정적 인 페이지를 참조 작업을 정의 컨트롤러에서

. 경로에서

def action 
end 

내가 컨트롤러의 행동에 따라 자동으로 생성 될 모든 일치하는 경로를 싶습니다

match "/url" => 'controller#action' 

의 무리를 파일. 개념적으로의 라인을 따라 뭔가 :

for actions in controller.erb do |action| 
    'match "/action" => "controller#action" 
end 

이 가능합니까? 내가 직접 노선 파일에 코드를 작성하겠습니까?

가 나는 또한 고려해야 할 몇 가지 중첩 된 작업을이 ... 컨트롤러 액션이있을 수 있습니다 :

def action 
    def nested_action 
    end 
end 

나는이 문제에 대해 어떤 생각을 감사하겠습니다. 감사.

+0

'일치'시도 : 리소스 블록 내부의 조치 '... – sled

답변

1
중첩 된 작업을 처리하지 않습니다 정상 /:controller/:action idea?

잘못 무엇

,하지만 ... 나는 당신이 원하는 어느 것 이유를 이해하기 어려운 시간을 보내고 있습니다.

입니다
controller :controller_name do 
    get "path/action" => :method_name, :as => :path_action 
    post "path/save" => :method_name, :as => :path_save 
end 

, 위의 방법을 컨트롤러 내에서 그룹 다른 경로를 사용 할 수 있습니다

+0

나는 그것에 대해 모두 잊었습니다! 그것은 내가 필요로하는 것의 90 %에 대해 잘 작동 할 것입니다 ... 고마워요! – twinturbotom

+0

이렇게하면 경로 헬퍼가 생성되지 않는다고 생각합니다. 내일 확인하겠습니다. – twinturbotom

+0

@twinturbotom 물론 아닙니다; 어떻게 그럴 수 있니? 컨트롤러와 액션은 임의적입니다. –

-1

은 당신이 뭔가를 할 수 있습니다.

관련 문제