📌

【Rails】コントローラについて

2023/11/16に公開

英語が苦手な自分は、命名定義の段階でスペルを間違えていたりでコントローラ名が違っていることが多々あります。そんなときに「単純にファイル名変えればいいんじゃ?」と思ったこともありましたがコントローラ作成の際に同時に複数のファイルが作られているので実際何が作られているのかと、正しい訂正方法について復習しようと思いました。

コントローラ作成

コントローラ作成は下記のコマンドで作成できます。

$ rails g controller コントローラ名

コントローラで作成されるファイル

上記のコマンドで作成されるファイルは下記の通りです。

  1. app/controllers/コントローラ名_controller.rb:
    このファイルは自分たちが実際に記述するコントローラのファイルです。このファイル内には、アクションメソッドやフィルターなど、コントローラの機能が定義されます。

  2. app/views/コントローラ名ディレクトリ:
    このファイルは作成したコントローラに関連するビューファイルが格納されます。たとえば、indexアクションに対応するビューファイルを格納するためのindex.html.erbなどです。

  3. app/helpers/コントローラ名_helper.rb:
    このファイルは、作成したコントローラに関連するヘルパーメソッドを定義するためのファイルです。ヘルパーメソッドは、ビューで共有するための便利な関数やメソッドを提供します。

  4. test/controllers/コントローラ名_controller_test.rb:
    これは、作成したコントローラに関連するテストコードが含まれるファイルです。このファイルには、コントローラの各アクションに対するテストメソッドが定義されます。

  5. app/assets/stylesheets/コントローラ名.scss
    このファイルには、コントローラ固有のスタイルルールを記述することができます。たとえば、ボタンのスタイルや背景色の設定など、コントローラに関連するスタイルを定義することができます。

コントローラ削除

コントローラの削除は下記のコマンドになります。

$ rails d controller コントローラ名

ddestroyの略になります。こちらのコマンドを使用すると先ほど自動的に作成された上記のファイルが削除されます。
削除する際は、関係するルーティングやモデル等の確認も行い、他の部分への影響に注意が必要です。

感想

命名定義やスペルミス等の場合に、直接直せばいいのではと思ったことがありましたが、実際はこれだけのファイルに影響が出てくるため、一度削除して再度作り直すほうが早いと思いました。

Discussion