如何将回调分开,以便after_create
运行一组代码,但!after_create
可以说是另一组代码?
答案 0 :(得分:25)
after_create
回调新对象,after_update
为持久化对象。
答案 1 :(得分:3)
after_create
创建新对象后
after_update
现有对象更新后
after_save
创建和更新
答案 2 :(得分:2)
您可以拥有多个仅基于条件执行的回调
<强> model.rb 强>
after_create :only_do_if_this
after_create :only_do_if_that
def only_do_if_this
if do_this?
# code...
end
end
def only_do_if_that
if do_that?
# code...
end
end
您还可以将条件添加到回调本身
after_create :only_do_if_this, :if => proc { |m| m.do_this? }
after_create :only_do_if_that, :if => proc { |m| m.do_that? }
def only_do_if_this
# code ...
end
def only_do_if_that
# code...
end