1

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

有什么办法可以做到这一点吗?

现在,我在保存后发出警告,图像不是所需的尺寸。但这还不够整洁。

4

2 回答 2

0

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

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

于 2010-10-27T11:25:17.273 回答
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?
于 2010-11-18T04:41:12.473 回答