在我的应用程序中,Rails已经预装了许多对象。

现在,我想更新其中一些对象属性。不幸的是,其中一些对象与我数据库中的同一对象有关。当我向myObject.balance(myObject.balance += value)添加一个值时,differentButSameObject中的属性balance仍然具有相同的值。

一种解决方案是重新加载对象。我更喜欢这样更新值:
UPDATE myTable SET balance = balance + 10 WHERE id = 1

这可能吗?

最佳答案

您可以使用ActiveRecords update_all语句:

Object.where(:id => 1).update_all("balance = balance + 1")

关于ruby-on-rails - 更新ActiveRecord中的当前值(Rails),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12952548/

10-14 13:15