class ActiveRecord::Base alias _method_missing_without_singleton_validations method_missing def method_missing(m, *args, &block) if (match = /^(validates_(.*))$/.match(m.to_s)) && self.class.respond_to?(match[0]) (class << self; self; end).send(match[0],*args,&block) else _method_missing_without_singleton_validations(m,*args,&block) end end #alias_method_chain :method_missing, :singleton_validations end module ActiveSupport::Callbacks def run_callbacks_with_singleton_class(kind, options = {}, &block) y = run_callbacks_without_singleton_class(kind, options, &block) x = (class << self; self; end).send("#{kind}_callback_chain").run(self, options, &block) x.concat(y) end alias_method_chain :run_callbacks, :singleton_class end