【Rails】ActionController::RoutingError

エラーが発生した経緯

コントローラとアクションの作成とルーティングの設定をし

bin/rails s

してからビューを確認しようとすると、下記のエラーが発生しました

ActionController::RoutingError (uninitialized constant ManagementController):

ManagementControllerという定数(もしくはクラス)が定義されていない!と怒られました

原因

クラスの読み込みが上手くいっていない

rubyファイルを実行した時にbin/rails sした直後は実行時点でクラスを読み込んでいないので、app/models/management.rbファイルを探しにいきます

app/models/management.rbというファイルがあれば、ファイルをオープンしてクラスを読み込みます

しかし、app/models/management.rbというファイルがなく、ファイルの中にManagementというクラスが定義されていない場合、uninitializedエラーが発生します

Rubyの場合、クラスは定数にClassオブジェクトが保存されてるだけなのでこのようなエラーが出ます

ファイル名とファイルパス、ファイル中のクラス名を確認すると、

コントローラー名が複数形になっていませんでした

management_controller.rb

ではなく、正しくは

managements_controller.rb

参考 f:id:haru89:20200531090445p:plain:w70

https://qiita.com/imotan/items/c73fab5ee230114a08b6