やすまんの技術ブログ

駆け出しエンジニアが日々学んだこと、わからなかったことなどをまとめておくブログ。忘備録としても使います。

no method errorが出たとき

結論

ファイルの命名規則に沿って、記述がしてなかったため。

 

経緯

rspecを用いてコントローラのテストを実施しようとした。

 

bundle exec rspec spec/controller/messages_controller.rb

 

をターミナルで実施すると

f:id:yasuMen:20200107193011p:plain

 

また、スペルミスかー

 

おや、間違ってないぞ。

 

そのほかのコードに記述漏れやミスがないか確認。

 

半角と全角の確認。

 

それでも解決できなかった。

 

https://qiita.com/ryotakazawa/items/d03226a8dc136ebf15af

https://qiita.com/okuramasafumi/items/af427c90973486f3c7f7

https://matt-note.hatenadiary.jp/entry/2018/10/20/203736

 

これらの記事を参考に、記述を修正したりしたものの解決できなかった。

 

よく見たら、ビジュアルコード でのフォルダの

spec/controller/message_scontroller_spec.rb

担っているではないか。

 

なので、controllersに変更。

f:id:yasuMen:20200107193405p:plain

 

その後bundle exec ~~

 

f:id:yasuMen:20200107193541p:plain

 

無事解決しました。

rails はファイルの命名規則が厳しいので、しっかり確認をする。