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.実際のエラー
太字に着目すると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.最後に
記事の感想や意見、ご指摘等あれば伝えていただけるとありがたいです。
読んでいただき、ありがとうございました。