Ruby on rails Rails路由:定义根到命名空间
我有两个控制器:Ruby on rails Rails路由:定义根到命名空间,ruby-on-rails,ruby,rails-routing,Ruby On Rails,Ruby,Rails Routing,我有两个控制器: 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 root :
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
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
但它给了我一个错误:未初始化的常量Mobile::Mobile
我想呈现第二个控制器的索引页,我该怎么做
编辑
通过输入/mobile,我希望呈现位于此处的文件:
app/
views/
/mobile
/posts
index.html.erb
但它在这里呈现文件:
app/
views/
/posts
index.html.erb
使用名称空间已将mobile前置到该块内控制器的名称
namespace :mobile do
root :to => "posts#index"
resources :posts
end
root :to => "posts#index"
resources :posts
而不是
在rails5中,它可以工作。完整的routes.rb有问题您做得很好,只需检查您的
控制器/mobile/posts\u控制器。rb
类类似于:类mobile::PostsController
。
root :to => "posts#index"
resources :posts
namespace :mobile do
root :to => "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