Я хотел бы добавить, что начинание... спасает блок к одному из моих контроллеров, создают метод, чтобы зарегистрировать лучшую информацию и создать корректное сообщение об ошибке для возврата к клиенту. Спасение всегда 'прерывает' процесс отката?
Я предполагаю, что направляющие автоматически делают откат. Когда это происходит? Это уже произошло к тому времени, когда я вхожу в спасательный пункт?
Я использую MySQL на Dreamhost, и я думаю, что они используют innoDB.
Простого использования begin
... rescue
недостаточно для отката транзакции. Вам нужно использовать:
ModelName.transaction do
end
Это делается явно при вызове save, так что все ваши обратные вызовы выполняются вместе. Какие исключения вы улавливаете в своем блоке спасения? На что вы отвечаете? Какие ошибки?