1

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: に対して複数の条件を設定することは可能ですか?

4

1 に答える 1

2

だから、これは実際にはこのようにする必要があります...

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 を渡します

于 2012-09-21T15:05:37.910 に答える