I dont think i used after_validation
ever as before_save
(or similar callbacks like before_create or update) is the one which fits. Usually the flow is
before_save
seems to be the last step in the process and by the time it reaches there the record is valid. Like you wanted it to happen every time when validation is successful.
after_validation
is called irrespective of the validation failed or not. I cant think of a scenario where you want to use it.
We cannot substitute after_validation
for before_save
as we can not guarantee that the record is always going to be valid.