Lihat menghancurkan menghapus elemen yang terkait di mana delete_all dapat menghapus beberapa data dari tabel diri sebagaiDELETE * FROM table where field = 'xyz'
: Opsi tergantung yang mungkin:
Mengontrol apa yang terjadi pada objek terkait ketika pemiliknya dihancurkan. Perhatikan bahwa ini diimplementasikan sebagai callback, dan Rails mengeksekusi callback secara berurutan. Oleh karena itu, panggilan balik serupa lainnya dapat memengaruhi: perilaku dependen, dan :dependent
perilaku tersebut dapat memengaruhi panggilan balik lain.
:destroy
menyebabkan semua benda terkait juga hancur.
:delete_all
menyebabkan semua objek terkait dihapus langsung dari database (jadi panggilan balik tidak akan dieksekusi).
:nullify
menyebabkan kunci asing diatur ke NULL. Panggilan balik tidak dilakukan.
:restrict_with_exception
menyebabkan pengecualian untuk dimunculkan jika ada catatan terkait.
:restrict_with_error
menyebabkan kesalahan ditambahkan ke pemilik jika ada objek terkait.
Jika menggunakan dengan :through
opsi, asosiasi pada model bergabung haruslah menjadi milik_ untuk, dan catatan yang bisa dihapus adalah catatan bergabung, bukan catatan terkait.