before_create:方法,如果:[:multiple,:constraints]

时间:2012-09-21 15:00:40

标签: ruby-on-rails ruby

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

所以,是否有可能有多个条件: ?

1 个答案:

答案 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以停止保存