A simple question is really in the processing order that will happen first when a new item is saved.
:before_create
:validates
validates comes first. From docs :
validates
(-) save (-) valid (1) before_validation (-) validate (2) after_validation (3) before_save (4) before_create (-) create (5) after_create (6) after_save (7) after_commit
before_create not called until the object is valid, so confirmation is checked first.
before_create
from http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
According to docs :
(-) save(-) valid(1) before_validation(-) check(2) after_validation(3) before_save(4) before_create(-) create(5) after_create(6) after_save(7) after_commit
(-) save
(-) valid
(1) before_validation
(-) check
(2) after_validation
(3) before_save
(4) before_create
(-) create
(5) after_create
(6) after_save
(7) after_commit