我正在完成我的新项目,其中 proc 用于我不理解的验证。谁能解释一下这里发生了什么?我的代码在模型中是这样的
before_validation :strip_whitespace, :if => proc{|datefield|datefield.export_date_format.present?}
def strip_whitespace
self.export_date_format.strip!
end
为什么我们在这里使用 proc,为什么我们不能检查 datefield.export_date_format.present?在 if 条件下直接调用 :strip_whitespace 方法?proc 到底在这里做什么?