私は私の頭を回避しているケースを持っています。
アップロードされた場合にのみ保存したい画像モデルがあります。また、画像を検証するためにアップロードからの情報も必要です(高さや幅など)。しかし、誰かがファイルを初めてイメージに保存しようとする場合にのみ、アップロードが行われるようにします。
だから、最良の選択肢はbefore_validation
、しかし保存時にのみ実行したい!
私のコードはこの要点にあります https://Gist.github.com/andreorvalho/b21204977d2b70fdef8
奇妙な部分はこれですon: :save
およびon: :create
は本当に奇妙な振る舞いをしている、または少なくとも私が期待したものではない。
on: :save
私がimage.save
テストでbefore_validation
コールバックは実行されません!
on: :create
はすべての状況で実行されますが、私がimage.save
、image.create
またはimage.valid?
だから私はこれが機能していないか、設定上のそれらの目標を誤解していると推測しています。
追伸作成時の検証は、保存、作成、または有効なあらゆる状況でも発生しますか?
誰かが同じに遭遇したかどうか、またはなぜこのように動作するはずがないのかを知ってください。