このコードは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を複数回呼び出していたため、簡潔ではありませんが、コードは機能していました。
乾杯!