0

これらのコマンドを実行したい:

require 'fileutils'
FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")

コールバックを使用してモデルで検証が失敗した場合:

callback を見てきafter_validationました。

検証が OK かどうか、または検証が正しくない (KO) かどうかをafter_validationコールバックで確認するにはどうすればよいですか?

4

3 に答える 3

2

で確認できます

if your_model.errors.empty?
   # run commands
end
于 2012-06-09T11:35:58.040 に答える
2
class User < ActiveRecord::Base

  after_validation :do_something_if_validation_fails, :unless => lambda { errors.empty? }

  protected
  def do_something_if_validation_fails
    logger.info "Validation failed lets do something"
  end
end
于 2012-06-09T11:46:04.340 に答える
0

私にとっての解決策は次のとおりです。

after_validation :empty_tmp

  protected
  def empty_tmp
   if self.errors.any?
    require 'fileutils'
    FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")
   end
  end
于 2012-06-09T12:09:40.393 に答える