Rails3で間違えてgenerate controllerしたものを取り消したい場合
引き続き基本的なことから。
現在、Railsを使って静的なページ作成(Respiraという個人プロジェクト用)
を始めましたが、誤って、generate controllerを実行してしまい、
この結果を取り消したいケースが発生しました。
rails generate controller Respiras home about webapp contact
上記コマンドを実行した結果、
create app/controllers/respiras_controller.rb route get "respiras/contact" route get "respiras/webapp" route get "respiras/about" route get "respiras/home" invoke erb create app/views/respiras create app/views/respiras/home.html.erb create app/views/respiras/about.html.erb create app/views/respiras/webapp.html.erb create app/views/respiras/contact.html.erb invoke test_unit create test/functional/respiras_controller_test.rb invoke helper create app/helpers/respiras_helper.rb invoke test_unit create test/unit/helpers/respiras_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/respiras.js.coffee invoke scss create app/assets/stylesheets/respiras.css.scss
コントローラーはもちろん、ルートや各種erbファイル等が作成されてしまいます。
やり直す場合は、前出のコマンドのgenerateをdestroyに変更すれば良いです。
rails destroy controller Respiras home about web app contact
コマンドの実行結果は、
remove app/controllers/respiras_controller.rb route get "respiras/contact" route get "respiras/webapp" route get "respiras/about" route get "respiras/home" invoke erb remove app/views/respiras remove app/views/respiras/home.html.erb remove app/views/respiras/about.html.erb remove app/views/respiras/webapp.html.erb remove app/views/respiras/contact.html.erb invoke test_unit remove test/functional/respiras_controller_test.rb invoke helper remove app/helpers/respiras_helper.rb invoke test_unit remove test/unit/helpers/respiras_helper_test.rb invoke assets invoke coffee remove app/assets/javascripts/respiras.js.coffee invoke scss remove app/assets/stylesheets/respiras.css.scss
実行結果から、お分かりの通り、ファイルだけではなく、
ルートも奇麗に元通りです。素晴らしい!