コールバックbefore_updateで取り扱うROR ActiveRecordの属性
-
21-09-2019 - |
質問
このコードはのActiveRecordErrorのを生成
コールバックは、シンボル示すなければなりません であるためには、文字列を呼び出すメソッド 評価ブロックが呼び出される、または コールバックに対応したオブジェクト メソッド。 "
before_update :check_instock, :unless => Proc.new { |inventory| inventory.needed.nil? }
def check_instock
if needed < amount
instock = true
else
instock = false
end
end
このコードは、私の在庫モデルに配置され、私は前inventory.update_attributes(コントローラ)@を呼び出すにいくつかのロジックを処理しようとしています。以前、私はinventory.update_attributes @コードの結果を複数回、呼んでいたことない簡潔にいえ、に働きました。
乾杯!
解決
before_update :set_instock, :unless => :inventory_not_needed?
private
def set_instock
self.instock = (needed < amount) ? true : false
end
def inventory_not_needed?
needed.nil?
end
所属していません StackOverflow