2012-10-12 4 views
5

네임 스페이스 루트를 정의레일 경로 : 나는이 컨트롤러를 가지고

app/ 
    /controllers 
     posts_controllers.rb 
     /mobile 
     posts_controllers.rb 

내 routes.rb은 다음과 같습니다

root :to => "posts#index" 
resources :posts 

namespace :mobile do 
    root :to => "posts#index" 
    resources :posts 
end 

을하지만 난 /mobile를 방문 할 때, 어쨌든 인덱스를 렌더링 것

namespace :mobile do 
    root :to => "mobile/posts#index" 
    resources :posts 
end 

그러나 그것은 나에게 오류를주고 : 첫 번째 컨트롤러의 페이지도이 시도 uninitialized constant Mobile::Mobile 두 번째 컨트롤러의 인덱스 페이지를 렌더링하고 싶습니다. 어떻게 할 수 있습니까?

편집

입력/이동하면 내가 여기에있는 파일 렌더링 할 :

app/ 
    views/ 
     /mobile 
      /posts 
      index.html.erb 

를하지만 여기에 파일을 찢는 것 :

app/ 
    views/ 
     /posts 
      index.html.erb 
+0

잘하고 있습니다.'controllers/mobile/posts_controller.rb' 클래스가 class Mobile :: PostsController jan267

답변

15
namespace :mobile do 
    root :to => "posts#index" 
    resources :posts 
end 

root :to => "posts#index" 
resources :posts 

.

+4

이것은 허용 된 답변보다 훨씬 좋은 해결책입니다! – ReggieB

8
namespace :mobile do 
    get "/" => "posts#index" 
    resources :posts 
end 

이미 앞에 추가 네임 스페이스를 사용하여 모바일을 해당 블록 안의 컨트롤러 이름으로 바꾸십시오. 대신 작동

root :to => "posts#index" 
resources :posts 

namespace :mobile do 
    root :to => "posts#index" 
    resources :posts 
end 
+2

작동하지 않습니다 –

+1

무엇이 오류입니까? 당신은 나를'routes.rb' 완전한 줄 수 있습니까? – shime

+1

전체 routes.rb는 질문 중 –

1
Rails.application.routes.draw do 

root to: 'front/homes#index' 

namespace :front do 
    resources :homes 
end 

namespace :admin do 
    resources :interviews 
end 

resources :meetings do 
    resources :slides 
end 

end 

rails5 에서의