質問

画像が保存されると、モデルの画像の高さと幅が正しく保存されます。保存する前に画像の寸法を検証する必要がある要件があります。まったく同じ次元でなければなりません。しかし、保存する前に高さまたは幅にアクセスしようとすると、それは私にNILを与えます。

これを達成できる方法はありますか?

とりあえず、私は保存後に警告を発し、画像は望ましい寸法ではないことを示します。しかし、それは十分にきれいではありません。

役に立ちましたか?

解決 2

使った after_validation. before_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?

他のヒント

Attachment_fuについてはわかりませんが、実際の画像はおそらくに保存されています before_save また after_save. 。画像が保存される前に検証が実行されます。

使う before_validation 画像の強制処理へのコールバック。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top