ruby-on-rails – 在Rails中显示404而不是500
发布时间:2020-12-17 04:03:20 所属栏目:百科 来源:网络整理
导读:在我的rails应用程序中,我定义了路由,以便用户可以访问像 http://mydomain.com/qwe2这样的记录 但是如果他们输错了“qwe2”,他们会获得500页.我认为404会更合适. 如何更改显示的错误页面?谢谢 解决方法 获得500代码的唯一原因是您的应用程序抛出异常.这可能
在我的rails应用程序中,我定义了路由,以便用户可以访问像
http://mydomain.com/qwe2这样的记录
但是如果他们输错了“qwe2”,他们会获得500页.我认为404会更合适. 如何更改显示的错误页面?谢谢 解决方法
获得500代码的唯一原因是您的应用程序抛出异常.这可能是由于缺少路线,您没有任何与之匹配的定义,或者因为您的控制器或视图已崩溃.
在生产环境中,您可能希望捕获应用程序生成的所有错误,并在适当的情况下显示更好的错误屏幕,或者如果需要,还可以显示“未找到”页面. 例如,一个强力捕获所有异常捕获器可能被定义为: class ApplicationController < ActionController::Base if (Rails.env.production?) rescue_from Object,:with => :uncaught_exception_rescue end protected def uncaught_exception_rescue(exception) render(:partial => 'errors/not_found',:status => :not_found) end end 如果您想知道何时执行此操作,则返回404类型错误很容易: render(:partial => 'errors/not_found',:status => :not_found) 确保您有某种默认路线,否则您将始终收到这些错误.通常这是通过在routes.rb的最后添加一个catch-all路由来完成的: map.default '/*path',:controller => 'default',:action => 'show' 然后,您可以使用此请求执行任何操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |