我正在用 Rails 构建一系列产品。哪个工作正常,但我的问题是......
如果一个项目已经存在于数组中,有没有办法更新它?因此,当我遍历产品并且型号为“TV-32D300B”时,我需要检查数组以查看它是否存在,但它可能只是部分数字,例如“TV-32D300”(减去最后一个字母)。
如果是这种情况,我希望能够使用正确的详细信息更新该产品。
product = {
name: product_name,
url: product_url,
modelnumber: product_modelnumber,
category_id: category.id,
group_id: category.group_id,
image_url: image_url
}
include?
如果产品尚不存在,我将使用将产品添加到数组中,所以我猜我需要添加一个类似的条件来查找数字。
unless products.include?(product)
products << product
end
假设products
是一个散列数组,并且您所说的模型是此散列中的一个product_name
下name
键,则可以执行以下操作:
existing = products.find { |p| product[:name].include? p[:name] }
if existing
# update existing
else
products << product
end
更多信息Enumerable#find
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句