1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【解決方法】Controller# show is missing a template for request formats: text/htmlとは?

Posted at

Ruby on rails を学習中の方の参考にしてもらえたら嬉しいです。
アプリケーションを作成している時に出てくるエラーとその解決方法について掲載します。少しでも参考にしていただけると幸いです。
今回はController# show is missing a template for request formats: text/htmlというエラーの解決方法をお話しします。エラー画面は下記の画像のような状態です▼
スクリーンショット 2023-06-05 6.21.31.png

先に結論を話します

この手のエラーは『missing a template for request formats:』とあるように、htmlのファイルが読み込まれないor無いために起こっているエラーです。なので、htmlファイルが存在するか?コントローラーが読み込まれるように記述されているかを確認していくことになります。

では早速エラーを探っていきます。

例によってChatGPTにどんなエラーなのか解説してもらいます▼
スクリーンショット 2023-06-05 6.25.32.png
ということで、1番2番3番と、解決策が提案されています。

ファイルを確認します

まずはprofileのファイルにsがなかったのでsを足しておきました。
ちなみにこのファイルの中にはshowhtml.hamlファイルとedit.html.hamlファイルの2つが入っています▼
スクリーンショット 2023-06-05 6.22.01.png

showファイルの中身をチェックします

画像を見るとコメントアウトしているのが分かると思います。
この記述の中には各ページに遷移するための=link to ~というリンクが多数あって、画面遷移のコントローラーが整っていないリンクが存在します。
その為、一旦コメントアウトしてコントローラーが無いリンクを見つけて、それだけを一旦コメントアウトしておこうということにしました▼
画像のようにコメントアウトすると、ブラウザは下の画像のようにシンプルな画面が表示されていました。
スクリーンショット 2023-06-05 6.25.42.png
スクリーンショット 2023-06-05 6.25.51.png
上記の状態からルーティングやコントローラーに問題があるのではなく、html.haml内にエラーがあるということが分かりました。

エラー箇所が発見できました

ここから徐々にコメントインしていってエラーになる箇所の特定をしていきます。
スクリーンショット 2023-06-05 6.26.47.png

画像が少しみづらいですが、今回のエラーの原因は%h2インフォメーションというコードの下に続く箇所の=link to ~の先のhtmlテンプレートが存在していないために、エラーを起こしていました。
正確には▼

show.html.haml
.index_container
  %h2 インフォメーション
    profile_item
      current_user.informations.each do information| 
        = link_to information_path(information) do

上記のコードの中の= link_to information_path(information) doから遷移するためのコントローラーとhtmlファイルが無いためにエラーを起こしていました。

なので、エラー箇所を下記のようにコメントアウトしてあげると左ようにブラウザが表示されるようになりました。
スクリーンショット 2023-06-05 6.27.37.png

まとめ

いかがでしたでしょうか?
今回は『missing a template for request formats:』というエラーを解決していきました。
このエラーから探ることはコントローラーが正しく記述されているか?htmlファイルは正しいか?ということを見ていき、最終的にはまだ、画面遷移する先のコントローラーがなかったことによるリクエストエラーでした。
一つ一つエラーを読み解けば必ず解決できます。
一緒に頑張って作っていきましょう。

他にも記事を発信していきますので、私の QiitaやTwitterをフォローしていただけると嬉しいです。
個別の質問もぜひ歓迎します。
私自身、初学者ではありますが、1歩先を行くものとして回答できたらと思います。
それでは。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?