Próbowałem wiele rzeczy, aby nadpisać zachowanie metody: destroy, ale nic nie działa. Użyłem najpierw wtyczki acts_as_paranoia, ale nie działa z modelem w asocjacji has_many: through.Szyny: jak zastąpić: zniszczyć metodę?
chcę nadpisać: zniszczyć metody prostu zrobić coś takiego:
def destroy
_run_destroy_callbacks { delete }
end
def delete
self.update_attribute(:status => 0)
freeze
end
Oznacza to, że po prostu chcesz zaktualizować kolejne pole (stan na 0) zamiast niszczyć samego rekordu.
Tak, to była pierwsza rzecz, którą próbowałem. To nic nie robi. Widzę żądanie DELETE FROM w moich dziennikach. Metoda niestandardowego niszczenia wydaje się nie być wywoływana. –
Hmm, używam tego w kilku modelach w kilku aplikacjach i działa bez problemów. Czy jest coś "specjalnego" w tym konkretnym modelu i czy dzwonisz usunąć lub zniszczyć? Będziesz chciał tego drugiego. – miked
Rekord jest niszczony od rodzica w relacji AREL (ActiveRecord), może to jest problem?W rzeczywistości aktualizuję mój model wina i zapisuję (główny formularz, metoda aktualizacji w kontrolerze), a jeśli zdecyduję się usunąć dziecko (model odmiany zawierający niestandardowe zniszczenie), nie jest to nazywane pozornie. Może mechanizm szyn jest inny do zniszczenia, jeśli to rodzic, który zniszczy dziecko (nie nazywa się zniszczeniem w modelu potomnym?) –