0

after_create在同一个模型上有两个回调,第二个取决于一个属性(比如client.score)不是零。在第一个中,它运行一个计算并将有问题的属性设置为某个非零值。

但似乎即使我在我的模型文件中将它们紧挨着放在一起,如下所示:

after_create :callback1
after_create :callback2

无论何时callback2运行,它仍然client.score为零。

如何强制第二个在第一个之后运行?

4

1 回答 1

5

你可以做这样的事情

def some_action
    callback1
    callback2
end

after_create :some_action

但是,根据文档,您的代码示例也应该没问题

回调通常按照定义的顺序运行,但定义为模型上的方法的回调除外,这些方法最后调用。

于 2012-11-26T21:23:29.707 回答