Ho modelli/forme complicate. Non voglio record ripetuti, quindi voglio unire record con attributi simili. Come cancellerei "save" usando un callback before_save? Questo è quello che sto pensando:Rails 4: Come cancellare salvare su un callback "before_save"?
class ProductsColor < ActiveRecord::Base
before_save :check_for_similar_record
def check_for_similar_record
if ProductsColor.exist?(color_id: self.color_id, product_id: self.product_id)
# merge values with existing ProductsColor and stop self from saving
end
end
end
il record verrà comunque salvato se si restituisce nil, è necessario restituire esplicitamente false per annullare il salvataggio. – dezman
Questo non è più vero a partire da Rails 5 - vedere l'altra risposta per i dettagli. –
@JonGjengset la domanda era "Rails 4: Come annullare salvare su un callback" before_save "?". Ho avuto questo voto negativo per questo? –