¿Cuál es el orden de las devoluciones de llamada y validaciones de ActiveRecord?

Me preguntaba en qué orden se llaman las devoluciones de llamada y las validaciones cuando se crea un objeto ActiveRecord.

Digamos que tengo algunas validaciones personalizadas y devoluciones de llamada como las siguientes:

validates :reference_code, :if => :reference_code, :on => :create
before_create :assign_reference

¿Cuál correrá primero? La devolución de llamada debe suceder primero o la validación puede fallar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta