Así que tengo un formulario donde los usuarios pueden ingresar un precio. Estoy tratando de hacer una validación previa que normalice los datos, recorte $ si el usuario lo pone.Convertir la entrada del usuario al número entero
before_validation do
unless self.price.blank? then self.price= self.price.to_s.gsub(/\D/, '').to_i end
end
Si las entradas del usuario $ 50 Este código es que me da 0. Si las entradas del usuario 50 $ este código me da 50. Creo que desde el tipo de datos es entero que los carriles se está ejecutando .to_i antes de mi before_validation y el recorte de todo después de $. Este mismo código funciona bien si el tipo de datos es una cadena.
¿Alguien tiene una solución que me permita mantener el tipo de datos entero?
Gracias. Siempre pensé que usar una before_validation es bastante torpe. Esto es definitivamente más elegante. –