How redirect to 404 page in routes.rb?

后端 未结 2 1538
慢半拍i
慢半拍i 2020-12-05 05:49

How can I redirect incorrect url to 404 page in routes.rb? Now I use 2 examples code:

# example 1
match \"/go/(*url)\", to: redirect { |params, request| Addr         


        
2条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-05 06:50

    If you want custom error pages, you'll be best looking at this answer I wrote a few weeks ago


    You need several important elements to create custom error routes:

    -> Add custom error handler in application.rb:

    # File: config/application.rb
    config.exceptions_app = self.routes
    

    -> Create /404 routes in your routes.rb:

    # File: config/routes.rb
    if Rails.env.production?
       get '404', :to => 'application#page_not_found'
    end
    

    -> Add actions to application controller to handle these routes

    # File: app/controllers/application_controller.rb
    def page_not_found
        respond_to do |format|
          format.html { render template: 'errors/not_found_error', layout: 'layouts/application', status: 404 }
          format.all  { render nothing: true, status: 404 }
        end
      end
    

    This is obviously relatively basic, but hopefully it will give you some more ideas on what you can do

提交回复
热议问题