У меня есть модель, которая, когда вставлена запись, должна вызвать веб-сервис.Rails 3: cancel insert on after_save
Если веб-служба терпит неудачу (тайм-аут или другие сбои), их также следует вернуть в базу данных сохранения.
Я использовал обратный вызов after_save и попытался поднять ActiveRecord :: Rollback при возникновении такого рода ошибок.
Хотя он возвращает false на object.save, он не откатывает транзакцию. Каков правильный способ сделать это?
Как я могу также убедиться, что запись не будет создана?
это также приведет к обновлению. –
Вы можете проверить наличие 'id' в модели. 'id' будет присутствовать только после вставки в базу данных. –