更新 rails 中的数组

艾伦

我正在用 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_namename键,则可以执行以下操作:

existing = products.find { |p| product[:name].include? p[:name] }
if existing
  # update existing
else
  products << product
end

更多信息Enumerable#find

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章