Callbacks allow you to trigger logic before or after an alteration of an object’s state’.
Active Record Callbacks知识总览
对象的生命周期
什么是Callbacks
如何使用Callbacks
有哪些可用的Callbacks
- 创建对象时被调用
- before_validation
- after_validation
- before_save
- around_save
- before_create
- around_create
- after_create
- after_save
- after_commit/after_rollback
- 更新对象时被调用
- before_validation
- after_validation
- before_save
- around_save
- before_update
- around_update
- after_update
- after_save
- after_commit/after_rollback
- 销毁对象时被调用
- before_destroy
- around_destroy
- after_destroy
- after_commit/after_rollback
- 其他
- after_initialize
- after_find
- after_touch
运行Callbacks
- 触发callbacks的方法
- create
- create!
- decrement!
- destroy
- destroy!
- destroy_all
- increment!
- save
- save!
- save(validate: false)
- toggle!
- update_attribute
- update
- update!
- valid?
触发after_find的方法
- all
- first
- find
- find_by
- find_by_*
- find_by_*!
- find_by_sql
- last
跳过 Callbacks
- decrement
- decrement_counter
- delete
- delete_all
- increment
- increment_counter
- toggle
- touch
- update_column
- update_columns
- update_all
- update_counters
有条件的Callbacks
- :if + Symbol/String/Proc
- :unless + Symbol/String/Proc
- 多个条件
其他
- 停止Callbacks
- 关系型Callbacks
- 事务和Callbacks