今天我在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最近的变化,其中当它找不到时,它会回到控制器上吗?
答案 0 :(得分:0)
可能会被routes.rb底部的默认路由选中。
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
出于您的目的,听起来删除这些可能是一个好主意。