我查了很久都没查到 ror 中回调函数所谓的"句柄"是什么意思=。=
如果有一组想用来共享的回调函数,可以将其写成单独句柄类
class CreditCardCallbacks
def before_validation(model)
model.cc_number.gsub!(/[-\s]/,'') #cc_number代表信用卡号码
end
end
然后在两个模型类中共享回调函数,Order 模型和 Subscription 都有 cc_number 属性
class Order<ActiveRecord::Base
before_validation CreditCardCallbacks.new #怎么不是Order.new
end
class Subscription<ActiveRecord::Base
before_validation CreditCardCallbacks.new #怎么不是Subscription.new
end
上面两个 model 调用回调函数,为什么传的是回调函数的实例(CreditCardCallbacks.new)而不是模型本身的实例(Order.new)进去呢 求前辈点醒-.-