2012-12-27 2 views
0

내 경로가 rails guide에 설명 된 내용과 작동하지 않는 이유가 궁금합니다. http://admin.foo.dev:3000/admin::pages#home이 아니라 root_path으로 이동합니다.하위 도메인 경로가 작동하지 않습니다.

첫 번째 방법은 효과가 있습니다. 어느 것이 Railscast에서 가져 왔습니다.

# WORKS! 

match '', to: 'pages#home', constraints: lambda { |r| r.subdomain.present? && r.subdomain != 'www' } 

# does NOT work! 

namespace :admin do 
    constraints :subdomain => "admin" do 
    root :to => 'pages#home' 
    end 
end 

모든 설정이 /etc/hosts입니다. 경로 네임 스페이스 안에 있기 때문에

127.0.0.1 localhost 
127.0.0.1 api.foo.dev admin.foo.dev foo.dev www.foo.dev 

답변

2

, admin::pages#home에 당신을 데려 갈 것입니다 올바른 페이지는 http://admin.foo.dev:3000/admin/ 될 것입니다 : 것 같습니다. 네임 스페이스를 제거하여 올바르게 연결하십시오.

일반적으로 어떤 경로가 생성되고 어떻게 도착하는지 혼란 스럽다면 rake routes을 사용하십시오. 그리고 네임 스페이스 경로 지정에 대해서 (그리고 이런 상황에서 네임 스페이스를 사용하고 싶지 않은 이유는) the Rails routing guide을 확인하십시오.

관련 문제