1
나는 이런 식으로 뭔가 보이는 하위 도메인이 존재하는 경우에만 실행에 구속되는 경로가 있습니다라우팅 사양 및 하위 도메인 제약
# Set the default root for when a subdomain is used.
match '', to: 'public::pages#show', constraints: lambda { |r| r.subdomain.present? && r.subdomain != 'app' }
# Set the default application route.
root :to => "pages#index"
나는 그것을 테스트하기 위해 함께 일부 라우팅 사양을 넣어 찾고 있어요를 이 경로는 제대로 (경로를 실제로 잘 작동하는지 응용 프로그램을 수동으로 테스트) 그러나 난 몇 가지 문제에 대해 다가오고 있어요.
이it "routes to public page on subdomain" do
get('http://somesubdomain.example.com/').should route_to("public::pages#show")
end
그러나이 사양에 실패, 라우터가로 이동했습니다
이것에 대한 라우팅 테스트에서 나의 현재의 슛은 GET() 호출의 일부로서 하위 도메인으로, 전체 도메인을 제공하는 것입니다 의도 한 이벤트가 아닌 루트 이벤트.
<{"controller"=>"public::pages", "action"=>"show"}> expected but was
<{"controller"=>"pages", "action"=>"index"}>.
아무도 왜 작동하지 않을지 제안 할 수 있습니까?
최고급 스튜어트 -이 기능은 훌륭합니다. 덕분에. – SirRawlins
레일 메모가 여러 루트 객체를 지원하지 않아서 응용 프로그램을 Rails4로 업그레이드했을 때이 솔루션이 고장났습니다. 예외가 발생합니다. 아직 Rails4에서 적절한 해결책을 찾고 있습니다. – SirRawlins