Validación de las dimensiones de la imagen en el archivo adjunto FU
-
26-09-2019 - |
Pregunta
Cuando la imagen se guarda, la altura y el ancho de la imagen se guardan correctamente en el modelo. Tengo un requisito en el que necesito validar las dimensiones de la imagen antes de guardar. Tiene que ser precisamente las mismas dimensiones. Pero cuando trato de acceder a la altura o el ancho antes de guardar, me da nulo.
¿Hay alguna forma en la que pueda lograr esto?
Por ahora, doy una advertencia después de salvar, que la imagen no es de las dimensiones deseadas. Pero eso no es lo suficientemente ordenado.
Solución 2
solía after_validation
. before_validation
no funcionó para mí. Entonces, lo que esencialmente hice fue verificar las dimensiones en un after_validation
gancho y tuvo que poner errores usando @image.errors.add_to_base("The image needs to be of precisely 137x52 pixels.")
. Y guardé la imagen de la siguiente manera.
@image.valid? # Run the validations, which calls my hook method after_validation
@image.save if @image.errors.empty?
Otros consejos
No estoy seguro de adjunto_fu, pero la imagen real probablemente se guarda en un before_save
o after_save
. Su validación se ejecuta antes de guardar las imágenes.
Utilizar una before_validation
devolución de llamada para forzar el procesamiento de la imagen.