我想运行这些命令:
require 'fileutils'
FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")
如果通过回调在我的模型中验证失败:
我见过回调after_validation
。
如何通过after_validation
回调检查验证是否正常或验证不正确(KO)?
我想运行这些命令:
require 'fileutils'
FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")
如果通过回调在我的模型中验证失败:
我见过回调after_validation
。
如何通过after_validation
回调检查验证是否正常或验证不正确(KO)?
你可以检查
if your_model.errors.empty?
# run commands
end
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
我的解决方案是:
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