Rails5では確認していないが、Rails4で確認。
after_commit :hoge, :on => :create でhogeメソッド内にupdate処理を行うと
無限ループする。
updateじゃなくてcreateなのに無限ループする…。
直観的じゃないからハマりそうなもんなのに、あまりググっても出てこないから書いてみた。
外国人だとstackoverflowで書いてる人がいた。
これがバグなのかバグじゃないのか、修正されるのかされないのかは不明。
こんな感じのコード書いて、本番にリリースすると無限にメールが
送信される障害発生((((;゚Д゚))))ガクガクブルブル
after_commit :hoge, :on => :create
def hoge
self.update(status: "hoge") #update_attributesでもダメポ
mail.deliver if Rails.env.production?
end