2013-04-15 1 views
0

멀티 테넌트 (multi-tenant) 애플리케이션을 개발 중입니다. 따라서 라우팅을 시작으로 거의 모든 과정에서 "request.host"가 "tenant_id.myapp.com"처럼 보이길 기대합니다.레일즈 콘솔에서 컨트롤러 액션을 실행할 수 있지만 request.shot을 설정하는 방법은 무엇입니까?

레일즈 콘솔에서 컨트롤러 동작을 실행하려고하는데,이 동작을 이해할 수 없었습니다.

가장 쉬운 방법은 "app.get"인 것 같지만 호스트를 설정하는 방법을 알 수 없습니다.

는 또한 "ActionController :: TestProcess"를 사용하여 언급 an answer을보고있는 지금까지의 내가

다른 레일에서 제거 된 (또는하지 않을 경우, 나는 그것을 포함하는 방법을 발견하지 않았습니다) 이해 옵션?

감사합니다.
다니엘

답변

3

난 그냥 내 콘솔 (올립니다)

# Send request with fake HTTP_HOST 
>>app.get(app.root_path, nil, {"HTTP_HOST" => "123.myapp.com}) 
>>#=>200 

# Then check if it works 
>>app.request.env 
>>#... 
>># "HTTP_HOST" : "123.myapp.com" 
+0

에서 그것을 확인 감사합니다! ____________ –

+0

내 기쁨! 'get'의 문서는 다음과 같습니다. http://api.rubyonrails.org/classes/ActionDispatch/Integration/RequestHelpers.html#method-i-get 제거되지 않고 방금 변경된 곳입니다. –