2017-03-25 1 views
0

나는 멀티 테넌트 레일 애플리케이션에서 세입자 간의 어플리케이션 범위를 지정하기 위해 전통적으로 서브 도메인을 사용 해왔다. 현재 진행중인 프로젝트의 경우 URL의 첫 번째 부분으로 고객 식별자를 매기는 것이 더 나은 방법이라고 생각합니다.레일 멀티 테넌트 라우팅 URL 생성

매개 변수의 범위를 지정할 수 있다는 것을 알아 냈으므로 실제 라우팅을 해결할 수 있습니다. 자, 내보기 및 컨트롤러에서 이러한 경로를 생성하는 깨끗한 방법이 있습니까? 나는 "게시물"자원이있는 경우

는 예를 들어, 나는 그것의 URL이 원하는 잘 작동하는 것 같군,하지만, 수동으로하지 않고 헬퍼 이러한 URL을 생성하는 쉬운 방법이

GET /:customer_id/posts/:post_id 

매번 : customer_id를 경로 매개 변수로 전달 하시겠습니까? 난 그냥 그것을 나는 어쩌면 요청하는 간단한 방법을 생각 (취성 및 반복적 인 것 같습니다) 고객 ID

손 않고도

<%= post_path(@post) %> 

를 사용할 수 있도록하려면, 그것은 기본을 추가 할 수 있습니다 생성 된 모든 URL에 대한 매개 변수?

답변

1

당신은 url_options

class ApplicationController < ActionController::Base 

    def url_options 
    { :customer => @customer }.merge(super) 
    end 

end 

More info in this answer

를 재정의해야