Я бы сказал, что, как уже упоминалось, есть способ отображения затронутых записей для пользователя, а затем есть две кнопки / ссылки, одна из которых предназначена для удаления, возможно, с предупреждением для пользователя, который спрашивает, проверяли ли они другую. ссылка, представляющая собой список всех записей, на которые они будут влиять.
Тогда, если вы хотите быть действительно уверенным, вы могли бы также выполнить мягкое удаление, пометив их как удаленные в базе данных вместо того, чтобы фактически удалять их, что может оказаться полезным, я не знаю, как вы справитесь с этим на автоматическое зависимое удаление, возможно, с act_as_paranoid, или какая-то самостоятельная версия с обратным вызовом родительской модели.