uninitialized constant UserControllerとは
Railsで原因探しに苦労したエラー
ある日Railsをしていたらこんなエラーが。
日本語翻訳は
「Routingのエラー」
「初期化されていない定数UserController」
とのこと…意味不明です。
調べていくと、「Routerで指示出してるUserControllerってもんが無いんだけど」とツッコミを受けている状態のようです。
エラー原因は?
このエラーの原因で1番多いのがRailsのルール破りだそうです。
概要を話すと、
でなければいけないというルールがあります。もし上記のルール通り命名せず作成してしまった場合(コントローラー名を単数形で書いてしまった等)は再度作り直して、表示できるようにしましょう。
(詳細はこちら↓)
【Rails】uninitialized constant UsersController というエラーが出たときの対処法 | FREE SWORDER
ちなみに僕の場合は、コントローラー等の作成時の記述ルールは問題ありませんでしたが、routesのところで以下のように表記していました。
エラー原因は5行目の部分。
get "signup" => "user#new"
だと、「Usercontrollerを呼び出す」という指示になってしまいます。
先程も記載したようにRailsではコントローラーの命名は複数形なので、
get "signup" => "users#new"
としてあげないといけません。
この部分を修正したことで無事エラーが消え、ブラウザが表示されました。
このエラーが出た際は命名ミス・記述ミスを疑いましょう。