Problemas con validates_inclusion_of

estoy tratando de hacer los ejemplos del libro de Beginning Ruby on
Rails
y el validate en cuestion no funciona.

en el ejemplo colocan

validates_inclusion :data, :with => 1…99, :message => ‘fuera de rango’

y cuando voy al formularios y coloco un valor entre 1 y 99 no funciona,
ni con valores fuera del rango

intente hacerlo con caracteres y si funciona, supongo que tengo que
hacer la transformacion a enteros de los datos que vienen en el
formulario antes de validarlos pero no se como

ejemplo que si me funciona
validates_inclusion :data, :with => [‘1’,‘2’,‘3’,‘4’], :message =>
‘fuera de
rango’

e introduzco cualquier valor como ( 1 ) y funciona

Gracias por su ayuda

2008/6/16 Rafael G. [email protected]:

estoy tratando de hacer los ejemplos del libro de Beginning Ruby on
Rails
y el validate en cuestion no funciona.

en el ejemplo colocan

validates_inclusion :data, :with => 1…99, :message => ‘fuera de rango’
y cuando voy al formularios y coloco un valor entre 1 y 99 no funciona,
ni con valores fuera del rango

Creo que lo que estás buscando es usar :in en lugar de :with

¡Falta Uno! - http://www.falta-uno.com.ar/
Ricardo M.

sorry en el ejemplo colocan “validates_inclusion_of” :?

coloco igualmente con “:in” y no me funciona

2008/6/16 Rafael G. [email protected]:

coloco igualmente con “:in” y no me funciona

y tira algún error? o simplemente no valida?

¡Falta Uno! - http://www.falta-uno.com.ar/
Ricardo M.

para convertir un valor a entero se usa el .to_i y si lo quieres
convertir a
float .to_f

entonces cuando envies el formulario convierte el atributo que desees
validar de la siguiente manera:
params[:atributo].to_i

El día 18 de junio de 2008 8:59, Rafael G. <
[email protected]> escribió:

siempre me retorna falso la validación y no pasa el formulario

hace la validacion, pero nuca se hace cierta
sigo creyendo que cuando coloco :in => 1…99 el intervalo es de numeros
y lo que viene del formularios son cadenas de caracteres
cuando intenta encontrar ‘5’ en 1.99, nunca lo va a encontrar
pero intento hacer la valicadion con :in => ‘1’…‘99’ y por supuesto que
el intervalo no es el esperado :stuck_out_tongue: