ActiveRecord Callbacks são métodos em Ruby on Rails que permitem executar código em determinados momentos do ciclo de vida de um objeto de um modelo. Esses callbacks são ganchos que você pode usar para disparar ações antes ou depois de eventos específicos, como a criação, atualização, destruição ou validação de um objeto. Isso é útil para encapsular a lógica de negócios relacionada à manipulação de dados.
Principais tipos de callbacks:
before_validation: Executado antes de o objeto ser validado.after_validation: Executado após a validação do objeto.before_save: Executado antes de o objeto ser salvo. Pode ocorrer em criação ou atualização.after_save: Executado após o objeto ser salvo. Pode ocorrer em criação ou atualização.before_create: Executado antes de um novo objeto ser salvo pela primeira vez.after_create: Executado após um novo objeto ser salvo pela primeira vez.before_update: Executado antes de um objeto existente ser atualizado.after_update: Executado após um objeto existente ser atualizado.before_destroy: Executado antes de um objeto ser destruído.after_destroy: Executado após um objeto ser destruído.Exemplo prático:
Se você quiser garantir que um e-mail seja enviado sempre que um novo usuário for criado em sua aplicação, pode usar o callback after_create para chamar o método responsável pelo envio do e-mail assim que o novo usuário for salvo no banco de dados.
Lembrando que o uso excessivo de callbacks pode tornar o código difícil de entender e manter, portanto, é importante usá-los de maneira consciente.