gpt4 book ai didi

ruby-on-rails - 从 Active Record 数组中删除对象

转载 作者:行者123 更新时间:2023-12-04 05:55:46 25 4
gpt4 key购买 nike

在 Rails 中,我有以下 Active Record 集合:

@products = Product.all

我需要遍历这个集合并从中删除一些对象而不将它们从数据库中删除。因此,使用
@products.each do |product|
if CONDITION
product.delete
end
end

不起作用,因为这也会从数据库中删除产品。有没有办法从这个集合中删除特定的产品而不从数据库中删除它们?

最佳答案

第一个问题,如果您不想要所有记录,那为什么还要从数据库中返回它们呢?为什么不使用 where 子句来过滤结果:
@products = Product.where(<CONDITIONS>)
其次,如果您坚持返回所有结果然后过滤,请使用 .reject堵塞:
@products = Product.all.reject { |p| <CONDITION> }

关于ruby-on-rails - 从 Active Record 数组中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com