在Rails中,我想通过递增来更新某些数据库值。 比如,我在表中有30个值,我想添加0.5。
以下是我试图完成它的方法:
Record.where(:status => "somestatus").first.value.to_f += 0.5
RoR抱怨说“未定义的方法`to_f ='”。 我知道我可以先获得价值,最后计算结果和update_attributes。但是最有效的方法是什么?
答案 0 :(得分:6)
希望字段值的类型为Float,以下内容将根据您的需要更新值。
object = Record.where(:status => "somestatus").first
object.increment!(:value, 0.5)
Check here有关增量!方法的文档。