Див. Знищення видаляє пов'язані з ним елементи, де delete_all може видалити декілька даних із самостільної таблиці якDELETE * FROM table where field = 'xyz'
: Залежні можливі варіанти:
Контролює, що відбувається з пов’язаними об’єктами, коли їх власник знищений. Зауважте, що вони реалізовані як зворотні дзвінки, а Rails виконує зворотні дзвінки в порядку. Тому інші подібні зворотні виклики можуть впливати на: залежну поведінку, а :dependent
поведінка може впливати на інші зворотні виклики.
:destroy
призводить до знищення всіх пов'язаних об'єктів.
:delete_all
змушує видалити всі пов'язані об'єкти безпосередньо з бази даних (тому зворотні виклики не виконуватимуться).
:nullify
призводить до встановлення стороннього ключа на NULL. Відклики викликів не виконуються.
:restrict_with_exception
викликає виникнення винятку, якщо є якісь пов'язані записи.
:restrict_with_error
викликає додавання помилки до власника, якщо є будь-які пов'язані об’єкти.
Якщо використовується з :through
опцією, асоціація в моделі приєднання повинна бути last_to, а записи, які видаляються, - це записи об'єднання, а не пов'язані з ними записи.