컨트롤러에서 호출되면 특정 컨트롤러로 라우트되는 주어진 이름의 중첩 된 리소스 라우트를 추가하는 메소드를 만들고 싶습니다. 예를 들어,이 ... 레일 4.1 : 컨트롤러에서 메소드를 호출하여 경로 생성하기
class Api::V1::FooController < ApplicationController
has_users_route
end
는 ... 그들을
/api/v1/foo/:foo_id/users
를 검색 할 수 있습니다 것입니다과
ApiSecurityController
에 요청을 보낼 것이다 ...
namespace :api do
namespace :v1 do
resources :foo do
resources :users, controller: 'api_security'
end
end
end
...에 해당해야한다. 아니면 Api::V1::ApiSecurityController
에 가겠습니까? 그들은 모두 같은 네임 스페이스에 있기 때문에 솔직하게 상관 없습니다. 이 방법으로 수십 줄을 피하고 싶기 때문에이 방법을 사용하고 싶습니다.
resources :foo do
resources :users, controller: 'api_security'
end
resources :bar do
resources :users, controller: 'api_security'
end
방법을 사용하면 설치 및 유지 관리가 더 쉬워집니다.
일단 요청이 컨트롤러에 도착하면 무엇을해야 할지를 아는 것은 괜찮지 만, 제가 확신 할 수없는 경로를 자동으로 생성합니다. 이것을 처리하는 가장 좋은 방법은 무엇입니까? 내가 찾은 가장 가까운 것은 엔진에 대한 많은 논의이지만, 이것이 내 앱에 추가하려는 별도의 기능이 아니기 때문에 적절하지 않다고 생각합니다. 기존의 리소스에 추가하는 동적 경로 일뿐입니다.
감사합니다.
http://codeconnoisseur.org/ramblings/creating-dynamic-routes-at-runtime-in-rails-4 – juanpastas
무엇 내가하려고하는 일은 조금 다르지만,이 예제에서 보여 지듯이 # {My app name} .routes.draw'를 함께 해킹 할 수 있다고 생각합니다 ... 감사합니다! – subvertallchris