Mejores prácticas de Rails Mailer: ¿controlador o devolución de llamada after_create? [cerrado]

En las aplicaciones comunes de Ruby on Rails 3/4, hay dos opciones para entregar el correo después de la creación de un modelo:

1) Enviar el correo directamente desde la acción de creación del controlador

#listings_controller.rb

def create
    @listing.create(params[:listing])
    if @listing.save
        ListingMailer.new_listing_notice(@listing).deliver
        format.html {redirect_to @listing}
        ...
    end
end

o2) Enviar el correo desde una devolución de llamada modelo

#listing.rb


class Listing
    after_create :notify
    ...
    def notify
        ListingMailer.new_listing_notice(self).deliver
    end
end

¿Existe un consenso actual sobre qué camino es mejor? El envío desde el controlador proporciona más control, pero si siempre se enviará un correo, ¿hay alguna razón para no usar la devolución de llamada? ¿Es sobre todo una cuestión de estilo, o hay otras preocupaciones importantes?

Respuestas a la pregunta(1)

Su respuesta a la pregunta