after_commit:on :::以set_callback方式销毁

时间:2015-10-28 08:27:35

标签: ruby-on-rails rspec call

我正在使用set callback并跳过回调。我可以在其中加入多个条件,如

Model.set_callback(after_commit :do_this, on: :destroy)

1 个答案:

答案 0 :(得分:0)

您可以传入:if选项并在其中添加条件。 所以这将是:

Model.set_callback(after_commit :do_this, on: :destroy, if: :condition)
  

:if - 符号,字符串或符号和字符串数组   命名实例方法或proc;回调只会被调用   当他们都返回真值时

因此,只要您的实例方法或proc正在评估为true / false,您就可以根据需要在其中放置尽可能多的条件。

(供参考,参见:http://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-set_callback