레일에서 URL_FOR의 반대는 무엇입니까? 경로를 취하고 해석 된 경로를 생성하는 함수?

StackOverflow https://stackoverflow.com/questions/2222522

문제

뇌가 약간 튀겨졌습니다 .... 컨트롤러와 : realative_path의 액션을 어떻게 얻습니까?

이것은 기본적으로 URL_FOR의 반대입니다. 아래의 예에서 "some_function"은 내가 찾고있는 미스터리 함수 이름입니다 ... 나는 그것이 쉽다는 것을 알고, 기억할 수 없거나 문서에서 그것을 찾을 수있을 것 같습니다.

그렇게 :

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}
도움이 되었습니까?

해결책

RSPEC에는 'Params_for'메소드가 있는데,이 방법은 Action Controller의 라우팅 방법을 사용하여 경로를 경로로 구문 분석합니다.

그것들은 이것보다 조금 더 강력하지만 다음으로 요약됩니다.

def params_for(path, method)
  params = ActionController::Routing::Routes.recognize_path(path, :method => method)
end

다른 팁

Rails 3에서 가장 좋은 방법은 사용하는 것입니다

Rails.application.routes.recognize_path('/posts/1/edit')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top