我将记录保存在全局变量中,以便以后可以修改某些字段,然后使用.save更新数据库中的记录,但不会更新它们
请勿更新它们:
SQL (0.5ms) UPDATE `workshop_managers` SET `updated_at` = '2019-01-05 22:42:56' WHERE `workshop_managers`.`id` = 11
我的代码:
我得到了数据:
workshop = concept_payment.concept
@workshop_manager = WorkshopManager.lock(true).find(workshop[:id])
if (@workshop_manager.available_quantity - concept_payment.amount) >= 0
used_quantity = @workshop_manager.used_quantity + concept_payment.amount
available_quantity = @workshop_manager.available_quantity - concept_payment.amount
@workshop_manager.used_quantity = used_quantity
@workshop_manager.available_quantity = available_quantity
@workshop_manager.save
end
我尝试了此操作,但它也不起作用:
@workshop_manager.update_attributes(used_quantity: used_quantity, available_quantity: available_quantity)
答案 0 :(得分:0)
在保存之前,似乎没有任何@workshop_manager
属性被更改。最可能的原因是concept_payment.amount
是0
,因此您无需更改数量,因此不会保存它们。确保concept_payment.amount
不为零。