2011-01-18 28 views
10

Sto cercando "il modo Rails" per scrivere una convalida che limiti i valori di input accettabili a un elenco predeterminato.: Limita l'input a valori specifici

Nel mio caso, desidero accettare solo i valori "-5", "-2", "+2", "+5" e nil. Tuttavia, ritengo che questo sia il modo migliore di porre una domanda generale: come predefinite un elenco di valori di entrata accettabili in un modello Rails?

Grazie!

+0

grandi risposte, grazie! Sto scegliendo Costa perché le risposte sono le stesse e Costa ha circa 2500 meno reputazione :) Saluti entrambi. – Andrew

+1

Capisco che è stato qualche tempo fa, ma avrei consigliato la risposta di Beerlington a causa dell'inclusione di link e altri suggerimenti validi. La qualità è il decisore che vogliamo sempre. :) –

risposta

17

validates_inclusion_of dovrebbe funzionare. Per esempio:

validates_inclusion_of :attr, :in => [-5, -2, 2, 5], :allow_nil => true 
8

Si desidera utilizzare validates_inclusion_of con le opzioni :in e :allow_nil.

validates_inclusion_of :field, :in => %w(-5 -2 2 5), :allow_nil => true 

Probabilmente anche da utilizzare in combinazione con validates_numericality_of

Problemi correlati