If you need to clone a model from another model, this is all you need to do. It can throw validation errors in some cases, where it violates validates_uniqueness_of constraints, but you can check the model and adjust accordingly. In fact, you can do that programmatically, so this could be added to ActiveRecord::Base. And if you add it to Base, it works. I know because I've done it.

So cool!

Update: this'll be available in plugin form soon. Probably after this coming weekend. I'm mostly just doing it for fun, but I could see this being useful for people. I created it because I need it for a project.

Looks to me that this does not work for models which have has_and_belongs_to_many relationships. I keep getting complaints about duplicate keys. I'm currently copying like this:result.dishes << original.dishes