我想在ActiveRecord结果的迭代过程中找到从数组中删除项目的最佳方法。
我想从数组中删除记录,而不是从数据库中删除。所以我不能使用 a.delete(record)作为例子。
# find similar items @items in a AR relation array
@items = Item.where("toto = ?", value).to_a
@items.each do |i|
# match similar records using postgres
@similar_items = ...
# now try to remove similar items from original @items array
@similar_items.each do |similar_item|
# this seems to not work
@items.reject! { |item_to_remove|
item_to_remove == similar_item
end
end
end
事实上,我的目标是使用匹配的相似项目从阵列中删除所有重复项,以便不重复它们。
答案 0 :(得分:0)
我建议你采用以下方法:
它应该简化您的代码并减少迭代次数。
{{1}}