我有一个product
表,我尝试在创建时运行after_commit和after_rollback。
控制器:
product = Product.new form_params
if product.save
...
else
...
end
型号:
after_commit(on: :create) {
...
}
after_rollback(on: :create) {
...
}
after_commit可以很好地工作,但是after_rollback不能与on: :create
参数一起工作。当我删除on: :create
参数时,它也会触发,但我需要after_rollback才能在创建时触发。
答案 0 :(得分:1)
我认为您必须对它进行不同的定义...
after_commit :after_commit_action, on: :create
after_rollback :after_rollback_action, on: :create
def after_commit_action
# do your magic
end
def after_rollback_action
# do your magic
end