ROR ActiveRecord attributo spostamento con un before_update callback
-
21-09-2019 - |
Domanda
Questo codice produce un ActiveRecordError :
richiamate devono essere un simbolo che denota il metodo da chiamare, una stringa di essere valutato, un blocco da invocato, o un oggetto risposta al callback metodo ".
before_update :check_instock, :unless => Proc.new { |inventory| inventory.needed.nil? }
def check_instock
if needed < amount
instock = true
else
instock = false
end
end
Questo codice viene inserito nel mio modello di inventario, sto cercando di gestire una logica prima di chiamare @ inventory.update_attributes (controllore). In precedenza mi stava chiamando @ inventory.update_attributes più volte, che ha portato nel codice che lavorato , anche se non in modo succinto.
Cheers!
Soluzione
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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow