Desidero essere in grado di sostituire un errore di campo con un avviso quando si salva/aggiorna un modello in rotaie. Fondamentalmente io voglio scrivere solo un wrapper per i metodi di validazione che ti generano l'errore, salvare il modello e, forse, essere disponibile in un hash avvertenze (che funziona proprio come l'errori di hash):ActiveRecord - sostituire l'errore di convalida del modello con avviso
class Person < ActiveRecord::Base
# normal validation
validates_presence_of :name
# validation with warning
validates_numericality_of :age,
:only_integer => true,
:warning => true # <-- only warn
end
>>> p = Person.new(:name => 'john', :age => 2.2)
>>> p.save
=> true # <-- able to save to db
>>> p.warnings.map { |field, message| "#{field} - #{message}" }
["age - is not a number"] # <-- have access to warning content
Qualsiasi idea di come Potrei implementarlo? Sono stato in grado di aggiungere il valore predefinito :warning => false
a ActiveRecord::Validations::ClassMethods::DEFAULT_VALIDATION_OPTIONS
Estendendo il modulo, ma sto cercando alcune informazioni su come implementare il resto. Grazie.
molto cool, grazie! – sa125
La gem versione 0.5.1 è compatibile con rails 3, ma una semplice modifica alla gemspec (vedere https://github.com/ivalkeen/validation_scopes/commit/acc1545a028605997e87fd41efece0ddffd3b999) consente di utilizzarla nei binari 4. – KenB