2012-10-31 15 views
5

このアプリケーションでは、レコードが削除されないようにActiveRecord destroyメソッドをオーバーライドしました。これと同じように:トリガーの依存関係:destroy:オーバーライドdestroy-methodを使用して破棄

def destroy 
    self.is_deleted = true 
    self.save 
    freeze 
end 

しかし、これは私たちのhas_many関係に破壊依存を無効にしているようです。つまり、親オブジェクトに対してdestroyが呼び出された場合、has_manyの子オブジェクトは破棄されません(削除されません。つまり、SQL 'DELETE...'、またはオーバーライドされたdestroyメソッドが呼び出されません)。

子オブジェクトの破棄をどのようにトリガーしますか。

ありがとうございます!

答えて

6

破壊コールバックを開始する必要があります。

def destroy 
    self.is_deleted = true 
    self.save 
    run_callbacks :destroy 
    freeze 
end 
+0

ありがとうございます!それはまさに私が欠けていたものです。 :) –

関連する問題