2014-07-14 4 views
0

Rails 4 응용 프로그램에서는 응용 프로그램이 사용하기 전에 모든 요청에 ​​대해 경로 (routes.rb)를 다시로드해야합니다. 어디에 넣어야합니까 MyApplication::Application.reload_routes!
config/applicaion.rb,config/environments.rb에 넣으려고했으나 작동하지 않습니다.
나는 또한 ApplicationController의 before_filter에 넣으려고했지만 실패했습니다. RoR api은 사용 방법에 대한 간략한 설명이 포함되어 있습니다.
이것에 대한 어떤 도움 /지도도 크게 평가 될 것입니다.어디에 MyApplication :: Application.reload_routes를 넣어야합니까?

+0

왜 그렇게할까요? –

+0

경로가 동적입니다 –

+0

나는 그것이 가능하다고 의심합니다. 그러나 나는 또한 노선이 역동적이어야한다는 것을 의심합니다. 코드는 동적이어야하며 경로는 동일 할 수 있습니다. 당신은 구체적인 유즈 케이스를 지정할 수 있습니까? –

답변

1

Seriuosly 나는 그렇게하지 않을 것입니다. Rails 내부에 대한 대규모 개입입니다. 단일 제어기에 하나의 동적 경로를 구성하기 만하면됩니다. 그런 다음 db에서 URL의 동적 부분에 따라 일부 Command (Service) 을로드하고 역 직렬화하여 인스턴스화하고 이 컨트롤러를이 동적 서비스 생성자에 대한 참조로 전달합니다.

는 다음과 같은 리팩토링 기술에 따라 구현되어야로드하는 동적 서비스 :

Replace Method with Method Object

는 또 다른 옵션은 자동 컨트롤러 범위가 때문에 람다/PROC를로드하는 것 한 번

을 인스턴스화
+0

답변을 시도하고 있습니다. 질문에 대한 대답. (예 또는 아니오?) 요청 직후에 경로 (routes.rb)를 다시로드 할 수 있습니까? 예가 나와 예일 경우 대답이 아니오이면 어떤 상황에서 경로 (routes.rb)를 다시로드합니까? RoR 응용 프로그램 용. –

+0

예, 요청 후에 경로를 다시로드하고 다음 요청에서 새 경로를 가질 수 있습니다. 그러나 질문에서는 응용 프로그램이 사용하기 전에 모든 요청에 ​​대해 질문했습니다. 이는 불가능합니다. 경로를 새로 고침 한 다음 immediatly 새 경로로 리디렉션 할 수 있지만 2 개의 요청이됩니다. 잘 정의 된 기간에 관리자가 구성 할 수있는 일종의 경로 인 경우에만 경로를 다시로드합니다. http://stackoverflow.com/questions/129510/is-it-a-bad-ide-to-reload-routes-dynamically-in-rails –

+0

예제를 제공하려면 새로운 질문을 만들어야합니다. 구체적인 문제를 설명합니다. 각 요청마다 경로를 다시로드하지 않고도 해결책이 있습니다. –

관련 문제