In un inizializzatore ho un enorme COUNTRY_CODES hash, con il formato:Convalida campo Modello: se il valore è uguale a una chiave in un hash
{ :us => "United States, :de => "Germany" }
Nel mio modello voglio verificare che il valore inserito è:
- presente
- una chiave del mio codice hash paese
Come apporacho questo?
non posso usare:
validates :country, :presence => true,
:inclusion => { :in => COUNTRY_CODES }
Ho provato validatori personalizzati, ma ottengo gli errori di metodo quando il valore è pari a zero, per esempio quando provo a usare value.to_sym, inducendomi a convalidare il validatore e diventa caotico.
Cercando di capire il modo più ESENTE ed efficiente per farlo.
FYI, l'impostazione predefinita per l'inclusione è: allow_nil => false, non è necessario per la presenza di convalida. – efoo