添加带有命名空间admin的控制器作为子文件夹

我在ROR 3.2上有一个简单的cms。 使用此文件夹方案:

app | controllers |我的控制器

但我想要一个“管理员”部分,我也可以有一些控制器。 所以我创造了

rails生成控制器管理员/用户

app | 控制器|管理员和我的管理控制器

所以我的文件是:

users_controller.rb class Admin::UsersController  "sou o index!") end def list render(:text => "sou o list") end end 

我的路线上有:

 namespace :admin do resources :users end match ':controller(/:action(/:id))(.:format)' 

我是rails的新手,我无法找到解决方案。 无处不在。

问题是我试着去做:

HTTP://本地主机:3000 /管理/用户/列表

我得到这个错误:

未知操作无法为Admin :: UsersController找到操作“show”

您似乎无法理解Rails的RESTful路由如何在默认情况下工作。 我建议阅读Rails指南的资源路由部分 。 默认情况下,在路径中使用resources时, show动作用于显示特定模型记录。 您可以在一定程度上自定义此行为 ,因为您可以更改show动作的URL,但不能更改模型中的方法名称:

 resources :users, :path_names => { :new => 'list' } 

如果您要使用RESTful路由(您应该使用),则应删除默认路由( match ':controller(/:action(/:id))(.:format)' )。 此外,您可以随时从终端运行rake routes ,以查看有关当前路由配置的详细信息。

但是,在正确的轨道上,还有一些步骤可以完成后端管理CRUD部分的解决方案。 查看以下如何自己创建它的示例:

https://stackoverflow.com/a/15615003/2207480