Pensé en usar observadores o devoluciones de llamada. ¿Qué y cuándo debes usar un observador?Observadores vs. Devolución de llamada
F.e. usted podría hacer lo siguiente:
# User-model
class User << AR
after_create :send_greeting!
def send_greeting!
UserNotifier.deliver_greeting_message(self)
end
end
#observer
class UserNotifier << AR
def greeting_message(user)
...
end
end
de este modo evitará un observador y se deja ver cuando los usuarios se convierte crearon ...
Lo que Dou Recommened?
Esto ya no es el caso en los rails 3.1 los observadores pueden cancelar la acción de un guardado al devolver falso del before_ * que cancelará la acción y también puede generar una excepción en after_ * para cancelar la acción excepcionalmente. –
Gracias jrizza, tuve un caso similar en el que una falla en uno de los observadores causó que el registro no se guardara, lo cual creo que es un resultado indeseable. –
Sí, es extraño, ya no son observadores, una excepción en un observador hará que la confirmación falle y el usuario recibirá una pantalla de excepción. No tiene sentido para mí. – Amala