class Foo < ActiveRecord::Base has_many :bars, dependent: :destroy before_destroy :do_something def do_something return if bars.blank? bars.map &:somethig_cool end end このように, has_many(has_one)な関係をものをbefore_destroyで使うには注意が必要. 上の例だとbefore_destroyの前にbarsは削除されてしまうので, bars.blank?は必ず真になりbars.map &:somethig_coolは永久に実行されない. これを避けるには以下のようにする. class Foo < ActiveRecord::Base before_destroy :do_something has_
![Railsでbefore_destroyを使うときの注意点 | blog.nomnel.net](https://cdn-ak-scissors.b.st-hatena.com/image/square/090a5184bff3dd5ec470e17f06af57987241eb3c/height=288;version=1;width=512/https%3A%2F%2Fblog.nomnel.net%2Fog-images%2Frails-before-destroy-with-relation-model.png)