AR の古いバージョンだけなのかもしれないけど、今日、after_createが連続して2回コールされる現象に出会いました。レコードはひとつしか作られていないのです。でもafter_createが2回コールされ、両方とも同一のインスタンスのもので、コールされる時間もほぼ連続的といっていいのです。 after_createのブロック群はStringやProcの形で配列に保存されていて、コールされるタイミングでその配列のそれぞれのブロックが順繰りに呼ばれます。そこに同じProcがふたつ存在しているのではないかと疑ったのだけど、そうではありませんでした。いろいろ調べたのだけど結局原因はわからず。 仕方なくafter_createを使うのをあきらめたのだけど、ヒマを見ては原因追跡をやっていこうと思います。