未找到路由中对另一台服务器的 HTTP 调用 rails

HTTP call to another server at route not found rails

我有一种奇怪的要求,我想完全改变在rails中没有路由匹配的行为,而不是引发异常或我想制作的自定义页面当我在 rails 中收到 404/无路由匹配时,对另一台服务器的 HTTP 调用。目前我做错了

rescue_from ActionController::RoutingError, :with => :render_not_found


  def record_not_found
      #HTTP call

  end

但它不起作用。我需要更改 rails 的 RoutingError default class 吗?
谢谢

No route matches [GET] " is not an Exception. 这只是一个错误,这使得开发环境中的调试变得容易。如果你想处理它然后使用下面提到的routes.rb 文件中的代码。

确保在所有其他路由定义的末尾定义此配置。 如果没有匹配的路由,那么这将搜索 'record_not_found' application_controller

中定义的操作
 #routes.rb
get '*path',
    controller: 'application', 
    action: 'record_not_found'

 #application_controller.rb     
class ApplicationController < ActionController::Base

    def record_not_found
      #add your call to another server 
      render nothing: true   
    end

end

希望对您有所帮助:)