레일 스위퍼에서 명명 된 경로에 어떻게 액세스 할 수 있습니까?
-
16-11-2019 - |
문제
포크스 프로세스에서 URL을 열어 캐시를 재가열하는 스위퍼가 있습니다.해당 URL에 대한 호스트를 하드 코드로 강화하기 쉽지만 환경에 따라 동적으로 변경되기를 원합니다.
나는 이것을 위해 글로벌 / 환경 변수를 설정할 수 있지만, 나는 정말로 명명 된 경로를 사용하고 싶습니다.이 일을 할 수있는 방법이 있습니까?
(나는 그 이름을 가진 경로를 놓는 것을 시도했지만 런타임에 해결되지 않는다는 것을 명확히해야합니다.)
해결책
The closest I found is:
Rails.application.routes.named_routes.get(:user).defaults
Which retrieves:
{:action=>"show", :controller=>"users"}
But you should merge it with your params:
Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})
Result:
{:action=>"show", :controller=>"users", :id=>1}
Edit:
Simply add
include Rails.application.routes.url_helpers
to your class
다른 팁
I fixed this in the current Rails 3.2 beta:
제휴하지 않습니다 StackOverflow