Mig*_* J. 6 namespaces ruby-on-rails
我在ROR 3.2上有一个简单的cms.使用此文件夹方案:
app | controllers |我的控制器
但我想要一个"管理员"部分,我也可以有一些控制器.所以我创造了
rails生成控制器管理员/用户
app | 控制器|管理员和我的管理控制器
所以我的文件是:
users_controller.rb
class Admin::UsersController < ApplicationController
def index
render(:text => "sou o index!")
end
def list
render(:text => "sou o list")
end
end
Run Code Online (Sandbox Code Playgroud)
在我的路线上我有:
namespace :admin do
resources :users
end
match ':controller(/:action(/:id))(.:format)'
Run Code Online (Sandbox Code Playgroud)
我是rails的新手,我无法找到解决方案.无处不在.
问题是我试着去做:
我收到此错误:
未知操作无法为Admin :: UsersController找到操作'show'
您似乎不了解 Rails 的 RESTful 路由默认情况下是如何工作的。我建议阅读Rails Guides 的资源路由部分。resources默认情况下,在路由中使用时,该show操作用于显示特定模型记录。您可以在一定程度上自定义此行为,因为您可以更改操作的 URL show,但不能更改模型中的方法名称:
resources :users, :path_names => { :new => 'list' }
Run Code Online (Sandbox Code Playgroud)
如果您打算使用 RESTful 路由(您应该这样做),则应该删除默认路由 ( match ':controller(/:action(/:id))(.:format)')。此外,您可以rake routes随时从终端运行以查看有关当前路由配置的详细信息。