10
1

More than 1 year has passed since last update.

【Rails】Zeitwork::NameError を解消する

Last updated at Posted at 2021-02-13

1.はじめに

railsでアプリを作成し、サーバーを立ち上げrails sを行い、http://localhost:3000/XXにアクセスしました。
すると、Zeitwork::NameErrorと表示されました。

2.使用環境

・mac.os バージョン10.15.6
・Ruby 2.6.6
・Rails 6.0.3.5
・psql (PostgreSQL) 12.6

3.実際のエラー

Zeitwerk NameError.png

太字に着目するとPostsControllerの定義が変という旨が書かれていますね。

4.結論:スペルミスでした

ということでPostscontrollerクラスの記述をしているposts_controller.rbを確認すると...

posts_controller.rb
class Postcontroller < ApplicationController
  def index
    @posts = Post.all
  end
end

2箇所も間違えておりました。(下記が正しいものです。)

posts_controller.rb
class PostsController < ApplicationController
  def index
    @posts = Post.all
  end
end

5.まとめ:スペルミス気をつけます

とは言え、Rails6.0で新たに導入されたZeitworkモードについて学ぶ良い機会となりました。

6.参考リンク

Railsガイド-定数の自動読み込みと再読み込み (Zeitwerk)

7.最後に

記事の感想や意見、ご指摘等あれば伝えていただけるとありがたいです。
読んでいただき、ありがとうございました。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1