Entiende el código correctamente antes de utilizarlo a tu proyecto y si tdeseas aportar algo puedes comentarlo.
Solución:
Seguro que has definido la phonenumber
columna como número. Por eso cuando te pones '925-555-5555'
en el phonenumber
attribute, se echa a un número, y sólo 925
se mantiene.
La mejor solución es cambiar el tipo de columna en su base de datos a string
. Crear una nueva migración:
change_column :table_name, :phonenumber, :string, limit: 30
De lo contrario, puede anular el configurador de esta manera para eliminar los caracteres no numéricos (pero no arreglará los números de teléfono que comienzan con '0'):
def phonenumber=(phonenumber)
write_attribute(:phonenumber, phonenumber.gsub(/D/, ''))
end
Más alternativas en esta publicación de blog
La forma más fácil de hacerlo es mutando el field=
método:
def field=(value)
super(value.delete('^0-9'))
end
Recuerda algo, que puedes optar por la opción de añadir un criterio justo .
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)