

お世話になります。  
以前rails serverの立ち上げでエラーになったのですがなんとか原因を見つけ次にcontorollerを作成して"Hello
world"を表示させるようにしています。

手順として `rails g contoroller` をした後にsamples_contoroller.rb  
(samplesは作ったcontorollerの名前)を開いて中に以下を追加して編集。

**samples_contoroller.rb**

[code]

    class UsersController < ApplicationController
        def index
            @hello = "Hello World"
            render plain: "hello/index"
          end
    end
    
[/code]

その後にviewsからsamplesに移動してindex.html.erbを作成しました。  
最後にconfigからroutes.rbを以下に編集

**routes.rb**

[code]

    Rails.application.routes.draw do
        # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
          get "/users", to: "users#index"
       end
    
[/code]

以上を順に行い `localhost:3000/hello` にアクセスしても

> Routing Error : uninitialized constant ◯◯Controller

と表記されます。

ちなみに最初はsampleでcontorollerを作りましたが、調べるとクラス名の単数か複数で一致してないと思い `s`
をつけて再度contorollerを作りましたが同じエラーがでます。

他に考えつくのはコントローラーにアクションをつけるかroutes.rb内の記述が間違っているかと疑っているのですがどなたか原因の分かるお方はいらっしゃらないでしょうか？


CC BY-SA 4.0
2021-04-29T08:24:56.413
75575
2023-11-09T06:06:05.743
2021-04-29T10:40:59.063
3068
44830
question
ruby-on-rails
actioncontroller::routingerror (uninitialized constant controller):のエラーについて


> 手順として rails g contoroller をした後にsamples_contoroller.rb  
>  (samplesは作ったcontorollerの名前)を開いて中に以下を追加して編集。

具体的にどういう名前にしたのかわからないですが  
ファイルの中身が  
`UsersController`  
であるならファイル名は users_controller.rb でないとダメかも

逆にクラス名が UserController でないなら  
コントローラーのクラス名と route の users# を  
ファイル名の samples と一致させる必要があります

というか rails g で作ったら基本的にクラス名やコントローラ名は変更しないほうがいいと思います


CC BY-SA 4.0
2021-05-01T05:22:23.123
75609
2021-05-01T05:22:23.123
75575
answer