ExpertiDict

Ruby · Intermediário · Inglês · Técnico

callback

/ˈkælbæk/substantivo

Gancho do ActiveRecord que roda código em momentos do ciclo de vida do registro, como before_validation, after_create ou before_save. É declarado no model com métodos ou lambdas.

Onde usar

Aparece em normalização de dados, como limpar um e-mail antes de salvar. Callbacks com efeitos externos, como enviar e-mail, viram armadilha e merecem um service object.

Em código

class Usuario < ApplicationRecord
  before_validation :limpar_email

  def limpar_email
    self.email = email.to_s.strip.downcase
  end
end

Exemplos

Normalize the email in a before_validation callback.

Normalize o e-mail num callback before_validation.

Too many callbacks make the model hard to follow.

Callbacks demais deixam o model difícil de acompanhar.

Cuidado

Desde o Rails 5, devolver false num before_* não cancela mais a cadeia; use throw :abort.

Sinônimos

gancho

Veja também

Todos os termos de Ruby