Ruby on rails 在路由中使用:except/:only选项时,Rails不会抛出UnknownAction错误

Ruby on rails 在路由中使用:except/:only选项时,Rails不会抛出UnknownAction错误,ruby-on-rails,routing,Ruby On Rails,Routing,我的路线配置如下: map.resources :users, :only => [:new, :create, :edit, :update] 当用户试图访问页面时http://localhost/usersrails应该抛出一个错误。我希望rails抛出ActionController::UnknownAction错误 令我惊讶的是,Rails抛出了ActionController::MethodNotAllowed错误。当:除了在路线配置中使用外,可以看到类似的行为 我依靠Acti

我的路线配置如下:

map.resources :users, :only => [:new, :create, :edit, :update]
当用户试图访问页面时
http://localhost/users
rails应该抛出一个错误。我希望rails抛出
ActionController::UnknownAction
错误

令我惊讶的是,Rails抛出了
ActionController::MethodNotAllowed
错误。当
:除了在路线配置中使用
外,可以看到类似的行为

我依靠
ActionController::UnknownAction
来显示自定义404页面。在上面的场景中,我最终显示了一个服务器错误页面


这个问题可以通过从路由中删除
:except/:only
来解决。我想知道是否有一个优雅的解决方案可以使用
:except/:only
选项。

发生这种情况是因为
http://localhost/users
URL可在POST上查看
create
操作。因此,操作存在,但方法不正确