我正在应用程序中实现动态错误页面,并且感觉它正在public
文件夹中查找(现在不存在)模板,而不是遵循我设置的路线。
在此,config/application.rb
我添加了这一行config.exceptions_app = self.routes
来说明这一点。
然后,我在路线中添加了以下内容:
get "/not-found", :to => "errors#not_found"
get "/unacceptable", :to => "errors#unacceptable"
get "/internal-error", :to => "errors#internal_error"
错误控制器看起来像这样:
class ErrorsController < ApplicationController
layout 'errors'
def not_found
render :status => 404
end
def unacceptable
render :status => 422
end
def internal_error
render :status => 500
end
end
要/not-found
显示模板,因为它应该是,但访问任何不存在的网址(即/ I-不要并存)呈现一个空白页。
我能看到的唯一原因是,例如,异常处理需要路由get "/404", :to => "errors#not_found"
,但是,具有讽刺意味的是,它找不到/ 404的路由(不,这不只是在起作用:))。
任何建议,不胜感激。谢谢,史蒂夫。
似乎某些设置是错误的。在您的路线中尝试以下操作:
match '/404', to: 'errors#not_found', via: :all
(匹配而不是获取)
您提到application.rb
您拥有config.exceptions_app = self.routes
,那很好。但是请确保在测试更改之前重新启动服务器。
并且确保您的错误视图文件与您的中的操作具有相同的名称ErrorsController
。
如果您在控制台中遇到任何类型的(haha)错误,可以将其发布吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句