在before_create、before_update、before_destroy方法上,我想对多个约束执行if:,例如
before_destroy :lock_quantity, if: [:processed, :quantity_changed]所以如果它被处理了,数量就不能改变
(以防万一:)
def lock_quantity
errors.add :quantity, "You must revert the row before changing quantity"
end那么,if:?可以有多个条件吗?
发布于 2012-09-21 23:05:38
所以实际上应该是这样的.
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以停止保存
https://stackoverflow.com/questions/12533092
复制相似问题