In ActiveRecord's callbacks, methods within a before_create callback are called after the validation, but before the model is created.
This was an intentional design decision, but I think it was the wrong one. What do you think?
When I think of before_create, I think of before_validation :foo, :on => :create, but, by default, before_create is synonymous with after_validation :foo, :on => :create`, which is technically correct, but confusing. Most of the goal of convention over configuration is to have sane defaults, right? Wouldn't following that principle include favoring what makes the most sense at first thought, over a technicality?
And, I'm calling this a technicality as someone who didn't immediately realize that before_create is invoked after validations. It makes logical sense, but this is an issue that, most likely, many inexperienced developers will/do encounter.