У меня есть два обработчика rescue_from, обработчик 404 и обработчик catch all.Функция catch all всегда вызывается для исключений ActiveRecord :: RecordNotFound, и обработчик 404 никогда не вызывается.Я ожидаю, что будет вызван обработчик с большей специфичностью, но этого не происходит.
application_controller.rb
# ActiveRecord 404
rescue_from ActiveRecord::RecordNotFound do |e|
...
end
# Catch all unhandled exceptions
rescue_from Exception do |e|
...
end
Документы api для rescue_from говорят о следующем:по наследству.Они ищутся справа налево, снизу вверх и вверх по иерархии.Обработчик первого класса, для которого true.is_a? (Klass) имеет значение true, вызывается, если таковой имеется.
Я неправильно интерпретирую оператор about.Как мне получить поведение, которое я ищу?