私は:destroyメソッドの動作を上書きするために多くのことを試みましたが、何も動作しません。私はまずacts_as_paranoiaプラグインを使用しましたが、has_many:throughアソシエーションのモデルでは動作しません。Rails:上書きする方法:破壊方法?
私は上書きしたい:私はだけではなく、レコード自体を破壊する別のフィールド(0にステータス)を更新したい、ある
def destroy
_run_destroy_callbacks { delete }
end
def delete
self.update_attribute(:status => 0)
freeze
end
:ちょうどこのような何かをする方法を破壊します。
はい、私が試した最初のことでした。これは何もしません。私はログからDELETE FROMリクエストを見ることができます。カスタム破壊メソッドは呼び出されないようです。 –
Hrm、私は実際にいくつかのアプリでいくつかのモデルでこれを使用し、それは間違いなく動作します。この特定のモデルには特別なものはありますか?あなたは削除または破壊を呼びますか?あなたは後者が必要です。 – miked
AREL(ActiveRecord関係)でそのレコードが親から破棄されました。おそらく問題でしょうか?実際、ワインのモデルと記録(メインフォーム、コントローラーの更新メソッド)を更新し、子供を削除することを選択した場合(カスタム破壊を含む品種モデル)、それは明らかに呼び出されません。たぶん、レールメカニズムは、子を破壊する親(子モデルで破壊を呼び出さないでください)を破棄するのとは異なります。 –