Sai*_*aev 8 ruby ruby-on-rails rails-routing
我有2个控制器:
app/
/controllers
posts_controllers.rb
/mobile
posts_controllers.rb
Run Code Online (Sandbox Code Playgroud)
和我的routes.rb看起来像这样:
root :to => "posts#index"
resources :posts
namespace :mobile do
root :to => "posts#index"
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
但是当我访问时/mobile,无论如何渲染第一个控制器的索引页面,也尝试了这个:
namespace :mobile do
root :to => "mobile/posts#index"
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:uninitialized constant Mobile::Mobile
我想渲染第二个控制器的索引页面,我该怎么做?
编辑
通过输入/ mobile我想渲染位于此处的文件:
app/
views/
/mobile
/posts
index.html.erb
Run Code Online (Sandbox Code Playgroud)
但它在这里是rending文件:
app/
views/
/posts
index.html.erb
Run Code Online (Sandbox Code Playgroud)
Ahm*_*RAN 20
namespace :mobile do
root :to => "posts#index"
resources :posts
end
root :to => "posts#index"
resources :posts
Run Code Online (Sandbox Code Playgroud)
代替
root :to => "posts#index"
resources :posts
namespace :mobile do
root :to => "posts#index"
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
namespace :mobile do
get "/" => "posts#index"
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
使用命名空间已经将移动设备添加到该块内的控制器名称.
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
Run Code Online (Sandbox Code Playgroud)
在rails5中有效。