Acceder Registrarme

Manejo de transacciones en Ruby on Rails


Por: Kevin Arnold Arias Figueroa Publicado el: 2017-06-30 02:47:49
begin
  Modelo.transaction do # un ActiveRecord
    @facturas.each do |f|
      f.save!
    end
    @pago.save!

    #Podemos lanzar en cualqueir momento dentro de esta transacción el "raise ActiveRecord::Rollback", sin embargo, al lanzar esto se irá el proceso directamente fuera del "end" de la transacción
  end
  #Aquí es donde sale al lanzar el "raise ActiveRecord::Rollback"
rescue => e
  #Aquí se lanza automáticamente el "raise ActiveRecord::Rollback"
  #Seguimos con las acciones que queramos, como notificar, etc.
end