Código postal, to_i y cero inicial en Ruby / Rails

Estoy tratando de guardar los códigos postales que se pasan en los parámetros como"07306"y"03452", peroto_i Parece estar convirtiendo estos valores de cadena a7306 y3452 Antes de la validación, debido a que la validación sigue fallando.

¿Cómo evito que Ruby elimine los ceros iniciales?

El código postal es un campo entero en la base de datos y la validación verifica el formato del código postal usando:

validates_format_of :zip, :with => /\A[+\-]?\d+\Z/, :message => "Please enter a valid US zipcode"

Respuestas a la pregunta(3)

Su respuesta a la pregunta