Rails路由:将root定义为命名空间

我有2个控制器:

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我想渲染第二个控制器的索引页面,我该怎么做?

编辑

通过输入/ mobile我想渲染位于此处的文件:

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

但它在这里是rending文件:

 app/ views/ /posts index.html.erb 

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

代替

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

使用命名空间已经将移动设备添加到该块内的控制器名称。

 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中它可以工作。