Ответ 1
@variable.destroy
будет вызывать все обратные вызовы (before_destroy и т.д.), а также обеспечивать соблюдение ассоциаций. @variable.delete
просто вызывает необработанный запрос базы данных для удаления объекта. Вы, как правило, гораздо безопаснее использовать destroy
, даже если он дороже.