验证附件中的图像尺寸

时间:2010-10-27 08:14:51

标签: ruby-on-rails attachment-fu

保存图像后,图像的高度和宽度会正确保存在模型中。我有一个要求,我需要在保存之前验证图像的尺寸。它必须具有完全相同的尺寸。但是当我在保存之前尝试访问高度或宽度时,它给我零。

有什么方法可以实现这个目标吗?

目前,我在保存后发出警告,表示图像不是所需的尺寸。但那还不够整洁。

2 个答案:

答案 0 :(得分:0)

我不确定attachment_fu,但真实图片可能会保存在before_saveafter_save中。您的验证在保存图像之前运行。

使用before_validation回调来强制处理图像。

答案 1 :(得分:0)

我使用了after_validationbefore_validation对我不起作用。所以我基本上做的是检查了after_validation钩子中的尺寸,并使用@image.errors.add_to_base("The image needs to be of precisely 137x52 pixels.")放错了。我以下面的方式保存了图像。

@image.valid? # Run the validations, which calls my hook method after_validation
@image.save if @image.errors.empty?