Мне нужно удалить сразу много записей, и мне нужно сделать это на основе условия в другой модели, которое связано отношением «принадлежит_то». Я знаю, что могу перебирать каждую проверку условия, но с моим большим набором записей это занимает вечность, потому что для каждого «принадлежит_то» выполняется отдельный запрос.
Вот пример. У меня есть модель «Продукт», которая «принадлежит_к» и «Художник», и можно сказать, что у художника есть свойство «is_disabled».
Если я хочу удалить все продукты, принадлежащие художникам-инвалидам, я хотел бы иметь возможность сделать что-то вроде:
Product.delete_all(:joins => :artist, :conditions => ["artists.is_disabled = ?", true])
Возможно ли это? Раньше я делал это непосредственно в SQL, но не уверен, можно ли это сделать через рельсы.