При тестировании новых active_record
запросов в консоли rails с загруженной pry
, если запрос вызывает исключение, мне часто приходится останавливать консоль и запускать ее снова, в противном случае все запросы вызывают исключение. У меня был какой-то код, который, казалось, исправил это:
# .pryc
Pry.config.exception_handler = proc do |output, exception, _pry_|
output.puts "#{exception.class}: #{exception.message}"
output.puts exception.backtrace.first
if exception.instance_of?(ActiveRecord::StatementInvalid) && exception.original_exception.is_a?(PG::Error)
output.puts 'Rolling back transaction and starting a new one!'
connection = ActiveRecord::Base.connection
connection.rollback_db_transaction
connection.begin_db_transaction
end
end
но, похоже, он перестал работать в rails 5. Почему этот код не работает?