docwhat's avatardocwhat's blog

Undoing a rails generate

I just learned this today, while taking a Ruby on Rails class from Jumpstart Lab.

I have, many times, messed up a rails generate command. For example, using singular where plural is needed or the reverse.

Today, I learned that you can undo a generate by using rails destroy with the same arguments you used for the generate command.

Example:

rails generate controller article
# Oops!
rails destroy controller article
rails generate controller articles

Apparently only a few of us in class knew about this during this class.

I’d worked around not knowing this by using git to commit everything and then reverting everything if I messed up.

Why doesn’t a generate command show a message explaining that it can be undone with destroy? It’d be really really helpful.

Ciao!

PS: I also discovered you can “redo” the last migration as well, which is really handy as well for repairing mistakes:

rake db:migrate:redo
Edit on GitHub