削除済みフラグを設定してから false を返すコールバックを追加することにより、単純なソフト削除システムをセットアップしようとしていbefore_destroy
ます (実際の破棄が発生しないようにするため)。
class Project < ActiveRecord::Base
belongs_to :user
before_destroy :soft_delete
def soft_delete
self.update( is_deleted: 1 )
false
end
end
これにより、レコードが更新されることはありません。理由はわかりません。ログに表示[1m[36m (0.4ms)[0m [1mROLLBACK[0m
されますが、関連性があるかどうかはわかりません。