Если вы используете select!, Reject!, Delete_if для коллекции AR
@projects = Project.all
(имеет 3 записи со значением столбца состояния 'fail')
@projects.reject!{|p| p.status=="failed"} (has 0 records now)
Но @projects.count
=> выдача результата как 3 still
Значит Если мы попытаемся выполнить какие-либо запросы к @projects, которые все еще используют старую коллекцию (3 записи).
Есть предложения?почему он использует старую коллекцию, поскольку уже отфильтровал ее с помощью операции отклонения.и я не хочу, чтобы он использовал старую коллекцию AR.
Используя AR where
, мы можем достичь этого, но в моем случае, использование только where
не смогло бы достичь моего результата и потребовалась какая-то операция надКоллекция AR и должна возвращать AR только не Array.