나는 destroy 메쏘드의 동작을 덮어 쓰는 데 많은 노력을했지만 아무 것도 작동하지 않는다. 먼저 acts_as_paranoia 플러그인을 사용했지만 has_many : in association의 모델에서는 작동하지 않습니다.레일 : 덮어 쓰는 방법 : 파괴 방법?
내가 덮어 쓰려면 : 그냥이 같은 것을 할 방법을 파괴 :
입니다def destroy
_run_destroy_callbacks { delete }
end
def delete
self.update_attribute(:status => 0)
freeze
end
가, 난 그냥 대신에 기록 자체를 파괴하는 (0 상태) 다른 필드를 업데이트합니다.
예, 제가 시도한 것은 처음이었습니다. 이것은 아무것도하지 않습니다. 내 로그에서 DELETE FROM 요청을 볼 수 있습니다. 커스텀 destroy 메소드는 호출되지 않는 것 같습니다. –
Hrm, 실제로 여러 앱의 여러 모델에서 이것을 사용하며 실패없이 작동합니다. 이 특정 모델에 '특별한'것이 있습니까? 삭제 또는 삭제를 호출 하시겠습니까? 후자를 원할 것입니다. – miked
AREL (ActiveRecord 관계)에서 해당 레코드가 부모로부터 삭제되었습니다. 아마도 문제일까요?실제로, 나는 와인 모델과 기록을 갱신하고 (주 양식, 컨트롤러의 업데이트 방법), 아이를 지우도록 선택한 경우 (사용자 정의 파괴가 포함 된 품종 모델) 분명히 호출되지 않습니다. 어쩌면, 레일 메카니즘은 자식을 파기하는 부모 (파손을 자식 모델에서 호출하지 않는 것)를 파기하는 것과는 다르다. –