如何在主动管理中实现自定义400和500错误页面?页面必须使用活动的管理布局。
答案 0 :(得分:1)
进入您的路线:
match "/404", to: "errors#render_error"
match "/500", to: "errors#render_error"
构建名为ErrorsController
class ErrorsController < ApplicationController
def render_error
exception = env["action_dispatch.exception"]
status_code = ActionDispatch::ExceptionWrapper.new(env, exception).status_code
@method, @message = if status_code == 404
["not_found", env["REQUEST_URI"]]
else
["server_error", "#{exception.message}\n#{exception.backtrace.join('\n')}"]
end
render status: status_code
end
end
然后在你的ApplicationController中:
private
def not_found
raise ActionController::RoutingError.new('Not Found')
end
然后创建新视图以显示您想要的任何HTML。
希望它可以帮到你。