如何在Rails应用程序的ruby中添加404错误页面?

nou*_*rza 1 ruby-on-rails http-status-code-404

你能帮我吗 我想将404错误页面添加到我的网站。我尝试了很多方法,但是对我没有用。这是其中之一。

应用控制器

unless  ActionController::Base.consider_all_requests_local
  rescue_from Exception, :with => :render_404
end

private

  def render_404
    render :template => 'error_pages/404', :layout => false, :status => :not_found
  end
Run Code Online (Sandbox Code Playgroud)

然后设置error_pages / 404.html

谁能解决这个问题?

Vas*_*fed 5

ActiveRecord::RecordNotFound从控制器抢救404(通常来自)并不总是有帮助,因为还会存在路由错误(ActionController::RoutingError

向用户Rails调用呈现异常config.exceptions_app,默认为ActionDispatch::PublicExceptions.new(Rails.public_path),仅呈现,public/404.html等等。

在大多数情况下,将错误页面放在此处就足够了,但是如果您绝对必须动态呈现某些内容,则可以覆盖异常应用程序。

一种常见的技巧是通过config.exceptions_app = self.routes并添加常规路由来处理它们,将异常路由回到您的主要路由中:

get '/404', to: 'errors#not_found'
get '/422', to: 'errors#unacceptable'
get '/500', to: 'errors#server_error'
Run Code Online (Sandbox Code Playgroud)

但是请注意,如果已经有异常-您可能会遇到异常循环,因此最好有单独的错误处理应用程序/引擎