module ActiveRecord class Base def clone_from(model) model.attributes.each {|attr, value| eval("self.#{attr}= model.#{attr}")} end endend# example!foo = Foo.newfoo.clone_from(Bar.find(:first))# it works! it's awesome!