DK’s diary

プログラミング初学者による発信

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(破壊する)の略称です。