如何为所有产品将价格(十进制)提高1.00?
#<Product id: 87, name: "Product 1", price: #<BigDecimal:7f99954c11a8,'0.5E1',9(18)>, created_at: "2015-09-15 22:09:59", updated_at: "2015-09-15 22:09:59">
Product.update_all( price = price + 1.00 )
问题是price
没有为该特定产品定义。
答案 0 :(得分:2)
我认为直截了当的解决方案可以起作用
Product.update_all("price = price + 1.00")
答案 1 :(得分:2)
使用increment!方法。
包装增量保存记录。此方法与非爆炸版本的不同之处在于它通过属性设置器。保存不受验证检查。如果可以保存记录,则返回true。
Product.increment!(:price, 1.00)