after_validation和before_save之间会发生什么?

bev*_*anb 13 ruby-on-rails

after_validation回调之前触发before_save.如果有的话,那些回调之间会发生什么?为什么选择一个而不是另一个?

Mat*_*att 12

有一个after_validation_on_updateafter_validation_on_create取决于该项是否是新记录.

并且正如Max所说,before_save如果对象无效,链在到达回调之前就会被中断,所以如果你需要某些东西,而不管对象的有效性before_save是不是它的地方.

供参考:http: //apidock.com/rails/ActiveRecord/Callbacks/after_validation_on_create