1. ホーム
  2. ruby-on-rails

[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController

2022-02-15 10:38:11

質問

更新情報 : ファイル名の誤記によるものです。

を修正しました。
~/sample_app/app/controllers/microposts_controller.rb

が正しくありません。
~/sample_app/app/controllers/microposts_contoller.rb


これは私の最初の投稿です。この投稿や将来の投稿を改善するためのフィードバックをお願いします :)

Ruby on Railsのチュートリアルです。 Rails 4でWeb開発を学ぶ

この章を読んでいる間 10.3 というのも、このとき立ち往生してしまったんです。結局、ファイル名のスペルミスで数日間、幽霊を追いかけることになりました。

$ rspec spec/requests/authentication_pages_spec.rb
No DRb server is running. Running in local process instead ...
...FF................

Failures: 

1) Authentication authorization for non-signed-in users in the Microposts controller submitting to the create action 
Failure/Error: before { post microposts_path } 
ActionController::RoutingError: 
uninitialized constant MicropostsController 
# ./spec/requests/authentication_pages_spec.rb:93:in `block (6 levels) in ' 

2) Authentication authorization for non-signed-in users in the Microposts controller submitting to the destroy action 
Failure/Error: before { delete micropost_path(FactoryGirl.create(:micropost)) } 
ActionController::RoutingError: 
uninitialized constant MicropostsController 
# ./spec/requests/authentication_pages_spec.rb:98:in `block (6 levels) in ' 

Finished in 0.92253 seconds 
21 examples, 2 failures 

Failed examples: 

rspec ./spec/requests/authentication_pages_spec.rb:94 # Authentication authorization for non-signed-in users in the Microposts controller submitting to the create action 
rspec ./spec/requests/authentication_pages_spec.rb:99 # Authentication authorization for non-signed-in users in the Microposts controller submitting to the destroy action

解決方法は?

これは、ファイル名 ~/sample_app/app/controllers/microposts_controller.rb (was microposts_contoller.rb) の誤記が原因でした。