在Rails中,
我有以下Active Record Collection:
@products = Product.all
我需要遍历此集合并从中删除一些对象而不从数据库中删除它们.因此,使用
@products.each do |product|
if CONDITION
product.delete
end
end
不起作用,因为这也将从数据库中删除产品.有没有办法从这个集合中删除特定的产品而不从数据库中删除它们?
@H_
404_10@
第
一个问题,如果你不想要所有记录,那么为什么甚至从
数据库返回它们呢?为什么不使用where子句来过滤结果:
@products = Product.where(< CONDITIONS>)
其次,如果你坚持要返回所有结果然后过滤,请使用.reject块:
@products = Product.all.reject {| p | <条件> }
@H_
404_10@
@H_
404_10@