0

同じモデルに2つのコールバックがあり、2つ目は属性(たとえば)がnilではないことにafter_create依存しています。client.score最初の例では、計算を実行し、問題の属性をnil以外の値に設定します。

しかし、次のようにモデルファイルに次々と配置されているようです。

after_create :callback1
after_create :callback2

実行されるときはいつでもcallback2、それはまだclient.scoreゼロになりつつあります。

最初のものの後に2番目のものを強制的に実行するにはどうすればよいですか?

4

1 に答える 1

5

あなたはこのようなことをすることができます

def some_action
    callback1
    callback2
end

after_create :some_action

ただし、ドキュメントによると、コードサンプルも問題ないはずです

コールバックは、最後に呼び出されるモデルのメソッドとして定義されたコールバックを除いて、通常、定義された順序で実行されます。

于 2012-11-26T21:23:29.707 に答える