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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top