on before_create,before_update,before_destroy方法,我想做一个if:on多个约束,比如
before_destroy :lock_quantity, if: [:processed, :quantity_changed]
如果已经处理,数量不能改变
(以防万一:)
def lock_quantity
errors.add :quantity, "You must revert the row before changing quantity"
end
所以,是否有可能有多个条件: ?
答案 0 :(得分:1)
所以,这应该是这样的......
before_update :lock_quantity, if: [:processed, :quantity_changed?]
注意问号!
(以防万一)
def lock_quantity
errors.add :quantity, "You must revert the row before changing quantity"
false
end
传递false以停止保存