Namespaced Rails' root to:'路线没有按预期工作

时间:2013-11-10 19:30:09

标签: ruby-on-rails routes

我正在阅读路线上的Rails指南(Routes From The Outside In),我看到了以下内容:

  

您也可以在名称空间和范围内使用root。对于   例如:

namespace :admin do   
  root to: "admin#index" 
end   

root to: "home#index"

我正在尝试复制它以查看它是如何工作的,所以在我的config / routes.rb文件中我得到了以下代码:

namespace :admin do
  root to: 'users#index'
end

我希望能够访问'localhost:3000 / admin'并被定向到用户#index页面,但我收到错误消息'uninitialized constant Admin'。

我是否误解了示例代码应该做什么,或者我写的内容有什么问题?

1 个答案:

答案 0 :(得分:0)

namespace:admin,会将您路由到控制器Admin :: UsersConroller。如果要将Route / admin路由到UsersConroller,则应使用scope而不是namespace。

scope '/admin' do
  root to: 'users#index'
end

您可以阅读更多相关信息here