Sto usando Rails v2.3saltare certo metodo di convalida nel Modello
Se ho un modello :
class car < ActiveRecord::Base
validate :method_1, :method_2, :method_3
...
# custom validation methods
def method_1
...
end
def method_2
...
end
def method_3
...
end
end
Come vedete sopra, ho metodi di validazione personalizzati 3 e li uso per la convalida del modello.
Se ho un altro metodo in questa classe del modello che salvare una nuova istanza del modello come segue:
# "flag" here is NOT a DB based attribute
def save_special_car flag
new_car=Car.new(...)
new_car.save #how to skip validation method_2 if flag==true
end
Vorrei saltare la validazione di method_2
in questo particolare metodo per il salvataggio di nuova auto, come saltare il metodo di convalida certo?
La tua "macchina speciale" ha qualche attributo che può differenziarlo dalle auto non speciali? Ciò renderebbe questo semplice. – Dogbert
Hai esaminato i documenti [convalida condizionale] (http://guides.rubyonrails.org/active_record_validations_callbacks.html#conditional-validation)? –
Ciao, ho aggiornato il mio post per il metodo di salvataggio di un'auto speciale. Fondamentalmente, ho un parametro "flag" passare al metodo, e se "flag" è vero, vorrei saltare la convalida di method_2 –