未找到路由中对另一台服务器的 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
希望对您有所帮助:)
我有一种奇怪的要求,我想完全改变在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
希望对您有所帮助:)