Ruby on Rails - after_validation が有効であれば?
概要
現時点では、私が知っている限りでは、モデルが検証に失敗した場合でも after_validation が呼び出されます。モデルが有効な場合にのみ呼び出す方法はありますか? self.validでなければreturn falseを追加してみました? after_validation メソッド内ですが、これにより検証が再度トリガーされ、無限ループが作成されます。
解決策
検証に失敗するとレコードのエラーが増えるため、次のことを確認するだけで済みます。
return false unless self.errors.empty?