• M
    Make clearing of HABTM join table contents happen in an after_destory callback. · 54c963c8
    Murray Steele 提交于
    The old method of redefining destroy meant that clearing the HABTM join table would happen as long as the call to destroy succeeded.  Which meant if there was a before_destroy that stopped the instance being destroyed using normal means (returning false, raising ActiveRecord::Rollback) rather than exceptional means the join table would be cleared even though the instance wasn't destroyed.  Doing it in an after_destroy hook avoids this and has the advantage of happening inside the DB transaction too.
    54c963c8
has_and_belongs_to_many.rb 2.3 KB