Railsにおけるコントローラーの削除方法
コントローラーの作成について
ターミナルにて、作業中のアプリケーションのディレクトリで以下のコマンドを実行します。今回は、tweetsコントローラーを作成するつもりがtweetssとsが1つ多くついてしまった例で話を進めます。
# コントローラーを作成
$ rails g controller tweetss
結果以下のようにcreateと表示されていることから、コントローラーのファイル(app/controllers/tweetss_controller.rb)が生成できています。また、tweetssコントローラー用のviewファイルやヘルパーファイルなども一緒に生成されています。
(invokeは生成したファイルのRailsにおけるフレームワークの機能を表示しているだけです。)
create app/controllers/tweetss_controller.rb
invoke erb
create app/views/tweetss
invoke test_unit
create test/controllers/tweetss_controller_test.rb
invoke helper
create app/helpers/tweetss_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/tweetss.coffee
invoke scss
create app/assets/stylesheets/tweetss.scss
コントローラーの削除について
生成済みのコントローラーファイルを削除するには以下のコマンドを実行します。
# コントローラーの削除
$ rails d controller tweetss
結果以下のようにremoveと表示されていることからコントローラーファイルが削除されていることが確認できます。
それだけではなく、同時に生成された関連ファイルも一緒に削除できます。
remove app/controllers/tweetss_controller.rb
invoke erb
remove app/views/tweetss
invoke test_unit
remove test/controllers/tweetss_controller_test.rb
invoke helper
remove app/helpers/tweetss_helper.rb
invoke test_unit
invoke assets
invoke coffee
remove app/assets/javascripts/tweetss.coffee
invoke scss
remove app/assets/stylesheets/tweetss.scss
ちなみに生成時に打ったコマンドの"rails g controller..."の"g"はgenerate(生成する)で、削除時の"d"はdestroy(破壊する)の略称です。