mar*_*ion 0 ruby-on-rails ruby-on-rails-3
我after_create在同一个模型上有两个回调,第二个依赖于一个属性(比如说client.score)不是nil.在第一个中,它运行计算并将有问题的属性设置为某个非零值.
但似乎即使我在我的模型文件中正确地使用它们,如下所示:
after_create :callback1
after_create :callback2
Run Code Online (Sandbox Code Playgroud)
每当callback2运行时,它仍然client.score是零.
如何强制第二个在第一个之后运行?
你可以这样做
def some_action
callback1
callback2
end
after_create :some_action
Run Code Online (Sandbox Code Playgroud)
但是,根据文档,您的代码示例也应该没问题
回调通常按照定义的顺序运行,但回调定义为模型上的方法(最后调用).