[ruby on rails] rails的回调

回调方法

  • create
  • create!
  • destroy
  • destroy!
  • destroy_all
  • destroy_by
  • save
  • save!
  • save(validate: false)
  • toggle!
  • touch
  • update_attribute
  • update
  • update!
  • valid?

跳过回调

  • decrement!
  • decrement_counter
  • delete
  • delete_all
  • delete_by
  • increment!
  • increment_counter
  • insert
  • insert!
  • insert_all
  • insert_all!
  • touch_all
  • update_column
  • update_columns
  • update_all
  • update_counters
  • upsert
  • upsert_all

回调顺序

3.1 Creating an Object

  • before_validation
  • after_validation
  • before_save
  • around_save
  • before_create
  • around_create
  • after_create
  • after_save
  • after_commit / after_rollback

3.2 Updating an Object

  • before_validation
  • after_validation
  • before_save
  • around_save
  • before_update
  • around_update
  • after_update
  • after_save
  • after_commit / after_rollback

3.3 Destroying an Object

  • before_destroy
  • around_destroy
  • after_destroy
  • after_commit / after_rollback

回调版本改动

attribute_changed? attribute_change等方法在5.1后before_save, before_update里还可以继续用,在after_save, after_update里不能用

Rails 5.0- (before_save, before_update)Rails 5.1+ (before_save, before_update)Rails 5.1+ (after_save, after_update)
attribute_changed?will_save_change_to_attribute?saved_change_to_attribute?
attribute_changeattribute_change_to_be_savedsaved_change_to_attribute
attribute_wasattribute_in_databaseattribute_before_last_save
changeschanges_to_savesaved_changes
changed?has_changes_to_save?saved_changes?
changedchanged_attribute_names_to_savesaved_changes.keys
changed_attributesattributes_in_databasesaved_changes.transform_values(&:first)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值