0
我需要一个before_update回调函数,该函数只是将列中的值增加2倍,大于创建的新行的值。不过,我在引用现有表中的列属性和我插入的行的列属性之间感到困惑。无法使用before_create更新所有行
我使用下面的参考: http://apidock.com/rails/ActiveRecord/Relation/update_all
class Region < ActiveRecord::Base
before_create :update_tree
def update_tree
Region.where('rgt >= ?', self.rgt).update_all(rgt: rgt+2)
end
end
但是,谢谢你的结果是错误“参数的错误数目(2为1)”。我能否澄清一下,self.rgt是写入之前新记录的rgt值。 – Dercni 2014-10-28 23:04:06
我已经更新了答案。我假设你需要将每个区域的rgt增加2,这是你正在尝试做什么? – mohameddiaa27 2014-10-28 23:08:21