2015-01-20 2 views
1

У меня странное требование, я хочу полностью изменить поведение Нет ссылок на маршрут в rails вместо того, чтобы поднимать исключение или настраивать страницу. Я хочу сделать HTTP-вызов другой сервер, когда я получаю 404/нет совпадений маршрутов в рельсах. В настоящее время я делаю это неправильноHTTP-вызов другому серверу по маршруту не найдены рельсы

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


    def record_not_found 
     #HTTP call 

    end 

но его не работает. Мне нужно изменить класс маршрутизации RoutingError по умолчанию?
благодаря

+0

вы redirect_to "HTTP_URL" внутри контроллера действий? –

+1

@RajAdroit Я не перенаправляю внутри 'record_not_found', вместо этого я делаю HTTP-вызов и верну ответ HTTP-обратного вызова вместо ошибки 404 –

+0

Я не могу вас понять, можете ли вы отправить образец HTTP-запроса и ответа? –

ответ

0

enter image description here

нет маршрута матчей [GET] " не является исключением. Это просто ошибка, которая делает отладку легко в среде разработки. Если вы хотите, чтобы справиться с этим, то используйте нижеуказанным код в вашем routes.rb файле.

Убедитесь, что вы определяете эту конфигурацию в конце всех других определений маршрутов. Если нет маршрута матчей, то это не будет искать «record_not_found» определено действие I п 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 

Надеется, что это помогает :)

+0

Это _is_ Исключение. Ваш снимок экрана является результатом поднятия «ActionController :: RoutingError». 'ActionController :: RoutingError' наследует от' ActionController :: ActionControllerError', который наследует от 'StandardError', который наследует от' Exception'. – ihaztehcodez

+1

@ Ajay Да его почти то же самое я понял Спасибо –

+0

Самое приветствуемое. @MuhammadHaris – Ajay

Смежные вопросы