概要
railsのタグ機能の練習がしたくて、railsの環境を構築しましたが、routingのエラーが起きたので解決の方法を記述します。
環境
rails 7.0.4.2
ruby 3.1.2
AWS
cloud9
mac
エラーの意味
エラー文をdeeplで検索します。
uninitialized constant HomesController Object.const_get(camel_cased_word) ^^^^^^^^^^ Did you mean? HomeController raise MissingController.new(error.message, error.name) ^^^^^
↓
uninitialized constant HomesController Object.const_get(camel_cased_word) ^^^^ ってこと?HomeController raise MissingController.new(error.message, error.name) ^^^。
このやろう...
整理します。
uninitialized constant HomesController
↓
未初期化の定数HomesController
HomeController raise Missing
↓
HomeControllerが見つからない
HomeControllerが存在しない
HomeControllerがない場合
ん?Homecontrollerがない?
どういうことだ?と思って状況をもう一度整理します。
routing、controller、view
Rails.application.routes.draw do
root to: "homes#top"
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
# Defines the root path route ("/")
# root "articles#index"
end
class HomeController < ApplicationController
def top
end
end
<h1>test</h1>
あ!
Rails.application.routes.draw do
root to: "homes#top"
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
# Defines the root path route ("/")
# root "articles#index"
end
root to: "homes#top"
この書き方だと、homesコントローラーのtopアクションを呼び出すよ!ってことなので、今回のhome_controllerとは合わない。
HomeController raise Missing
↓
HomeControllerが見つからない
HomeControllerが存在しない
HomeControllerがない場合
や、そもそもの
uninitialized constant HomesController Object.const_get(camel_cased_word) ^^^^ ってこと?HomeController raise MissingController.new(error.message, error.name) ^^^。
は正しかったんだ・・・ごめんよ・・・
結論
そもそもエラー文をよく読めって話ですね。気をつけます。