delete_all
- это метод класса ActiveRecord::Base
.
Вы должны использовать destroy_all
. Что-то вроде:
@container = MyContainer.find_by_id(10)
@container.my_objects.destroy_all
Использование delete_all
правильно будет быстрее, если вам не нужно сначала искать ваш MyContainer
(или использовать его для других вещей)
MyObject.delete_all(["my_container_id = ?", 10])
РЕДАКТИРОВАТЬ: для рельсов 3
MyObject.where(my_container_id: 10).delete_all