输入无效网址时,Rails不会抛出路由错误

时间:2014-03-27 10:04:30

标签: ruby-on-rails rails-routing

在我的rails 2.3.X应用程序中,有一个用户资源嵌套在许多其他资源下,不会直接暴露。

 map.resources :resource1 do |r|
   r.resources :users
 end
 map.resources :resource2 do |r|
   r.resources :users
 end
 # map.resources :users is not mentioned any where.

当我点击" / user"或" / users-any-invalid-url"它显示路由错误,但是当我点击" / users"它需要我索引users_controller的动作,这是不需要的。我想得到相同的路由错误。

如何获得?在此先感谢。

1 个答案:

答案 0 :(得分:0)

由于这是一款rails 2应用,因此route.rb

底部有一条默认路线
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

因此,只要您拥有一个用户控制器,它就会转到该控制器。解决方案是简单地删除这两行。删除这两行也可以保护您免受各种不需要的请求。