Zel*_*nka 7 ruby-on-rails callback ruby-on-rails-4
我有一个带有after_update回调的Rails对象,它将记录发送到队列.问题是我注意到有时队列的处理速度比对象实际更新的速度要快.
我的问题:after_update在对象更新结束后调用,但是在它开始时?如果我想在更新成功后再做一些事情,我需要什么回调?
小智 16
after_save,after_create,after_update被称为事务块内,所以他们会在执行SQL语句之前执行.
如果要在语句执行完成时执行某些操作,则应使用after_commit回调.
如果您查阅 Rails 文档,您会发现很多可以使用的回调。最适合这项工作的可能是“after_commit”:
这直接来自 Rails 文档(底部的链接)
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
Run Code Online (Sandbox Code Playgroud)
Rails 文档: http: //guides.rubyonrails.org/active_record_callbacks.html
| 归档时间: |
|
| 查看次数: |
5966 次 |
| 最近记录: |