How to rescue page not found 404 in rails?

后端 未结 2 1725
闹比i
闹比i 2021-01-17 11:02

How to rescue page not found if user add wrong url in rails. I hope to show 404 page present in public folder if the url is invalid. How to do that? I was browsing about it

2条回答
  •  渐次进展
    2021-01-17 11:58

    i found the solution, check this out => http://techoctave.com/c7/posts/36-rails-3-0-rescue-from-routing-error-solution (great solution)

    routes.rb :

    # at the end of you routes.rb
    match '*a', :to => 'errors#routing', via: :get
    

    errors_controller.rb :

    class ErrorsController < ApplicationController
      def routing
        render_404
      end
    end
    

    application.rb :

    rescue_from ActionController::RoutingError, :with => :render_404
    
     private
      def render_404(exception = nil)
        if exception
            logger.info "Rendering 404: #{exception.message}"
        end
    
        render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
      end
    

提交回复
热议问题