如果没有匹配的控制器,map.namespace是否会重新出现?

时间:2009-07-09 19:29:38

标签: ruby-on-rails routing

今天我在rails应用程序中观察到一种奇怪的行为。

我在routes.rb中定义了以下路由

map.namespace :admin do |admin|
 admin.resources :users
end

当我使用rake:routes时,我会看到以下路由:

admin_users GET /admin/users {:action => 'index, :controller => 'admin/users'}
....
....

在path_prefixes和name_prefixes方面都是完美的命名空间。

我有app / controllers下的UsersController(不在app / controllers / admin下),但不知何故,rails正在app / controllers而不是app / controllers / admin下取得UsersController,这是rails最近的变化,其中当它找不到时,它会回到控制器上吗?

1 个答案:

答案 0 :(得分:0)

可能会被routes.rb底部的默认路由选中。

  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'

出于您的目的,听起来删除这些可能是一个好主意。