Ответ 1
Я считаю, что это поведение было добавлено между 4.1 и 4.2 как временное решение проблемы, которая больше не имеет отношения к рельсам 5:
В настоящее время активная запись подавляет ошибки, возникающие внутри after_rollback или after_commit обратные вызовы и только печатает их в журналы. В следующей версии эти ошибки больше не будут подавляться. Вместо этого ошибки будут распространяться нормально, как и в других активных Записывать обратные вызовы.
Когда вы определяете обратный вызов after_rollback или after_commit, вы будете получать предупреждение об этом предстоящем изменении. Когда вы готово, вы можете выбрать новое поведение и удалить устаревание, добавив следующую конфигурацию в свою конфиг /application.rb:
config.active_record.raise_in_transactional_callbacks = true