Order of Callbacks/Validations on Active Record
Every once in a while I find myself wondering about this. So here it is, for the record:
The order of callbacks and validations on a rails active record model is
1. before_validation
2. before_validation, :on => :create
3. after_validation
4. after_validation, :on => :create
5. before_save
6. before_create
7. after_create
8. after_save
ActiveRecord wraps this whole thing in a transaction, so if anything anywhere in this chain fails, the whole thing will be rolled back.
Good to know!