我的路线配置如下:
map.resources :users, :only => [:new, :create, :edit, :update]
当用户尝试访问页面http://localhost/users
时,rails应该抛出错误。我希望rails能够抛出ActionController::UnknownAction
错误。
令我惊讶的是,Rails抛出ActionController::MethodNotAllowed
错误。在路由配置中使用:except
时会看到类似的行为。
我依靠ActionController::UnknownAction
来显示自定义404页面。在上面的场景中,我最终显示了一个服务器错误页面。
可以通过从路由中删除:except/:only
来解决此问题。我想知道是否有一个优雅的解决方案可以使用:except/:only
选项。
答案 0 :(得分:0)
这种情况正在发生,因为在http://localhost/users
操作的POST上可以使用create
网址。因此,操作存在,但方法不正确。