В моем контроллере есть код, который выглядит следующим образом:
@mymodel.transaction do
for a in arr
@mymodel.some_method(a)
end
end
in @ mymodel # some_method Я мог бы выдать исключение ActiveRecord::Rollback
, которое в БД делает то, что ему нужно, однако затем я просто получаю HTTP 500 и не могу перехватить исключение, чтобы сообщить пользователю об Кстати, что пошло не так.
Я пытался обернуть @ mymodel.transaction do в блок begin / rescue, но это тоже не сработает. Каков наилучший способ отловить исключение, чтобы я мог представить пользователю правильное представление?