我试图在创建后调用两种方法,但是将它们放入数组中不起作用......我在 Rails 文档或谷歌中找不到任何东西......有经验的人吗?
after_create [:do_this, :do_that]
不工作
我试图在创建后调用两种方法,但是将它们放入数组中不起作用......我在 Rails 文档或谷歌中找不到任何东西......有经验的人吗?
after_create [:do_this, :do_that]
不工作
无需包围数组中的方法。只需使用:
after_create :do_this, :and_then_this
奖励信息:如果before_*
回调返回 false,则取消所有后续回调和相关操作。如果after_*
回调返回 false,则取消所有后续回调。回调通常按照定义的顺序运行,但定义为模型上的方法的回调除外,这些方法最后调用。
您还可以调用单个方法并在该方法上编排顺序。
after_create :process
def process
do_this
do_that
then_this
end
我个人更喜欢这种方法。没有隐藏的魔法。
为什么要将两个回调方法放入一个数组中?
after_create :do_this, :do_that
注意,after_action
好像是倒置的。
after_action :do_that_after, :do_that_before
当前执行的订单是do_that_before
thendo_that_after
编辑:使用 Rails 6.0.3.3