按属性值查找多个对象

时间:2015-02-26 17:06:02

标签: ruby-on-rails ruby

我有产品。

产品具有独特的尺寸。尺寸是属性。

我想专门更改尺寸为10,20和30的产品的状态。

如何一次查询它们?

我正在寻找一些简单的东西:

Products.find_by(size: [10, 20, 30])

1 个答案:

答案 0 :(得分:3)

您可以使用#update_all#update

# if you don't want to confirm validation
Products.where(size: [10, 20, 30]).update_all(status : 'x')
# if you do want to confirm validation
Products.where(size: [10, 20, 30]).find_each do |product|
 product.update(status : 'x')
end