Ruby on rails を学習中の方の参考にしてもらえたら嬉しいです。
アプリケーションを作成している時に出てくるエラーとその解決方法について掲載します。少しでも参考にしていただけると幸いです。
Encountered a syntax error while rendering template: check
というエラーの解決方法をお話しします。
先に結論を話します
この手のシンタックスエラー(構文ミス)を見つけるのはかなり骨の折れる作業です。
他のエラーに関してもそうですが、間違え探しというのはなかなか見つからないものです。
なので、ChatGPTにコードを入れて探してもらい、修正していくというのが早い解決法かと思います。
エラーまでの過程を説明
今回のエラーは構文エラーです。スペルミスか記述ミスか、正しく書いたつもりのコードのどこかにタイポがあるはずです。
これを見つけていく作業になります。
エラーの見つけ方
▼エラーがどこで起こっているのか確認するにはエラー画面のマーカーラインしているところを見ます。
今回はchatsというhtml.hamlのファイルで起こっているようです
ではこれから2枚の画像を並べます。間違えを探してください。
間違いを探し出すのに時間がかかりますよね。
正解は@chats.order (created _at: :desc) .each do |chat|
という一文のeachの直前に『.』ピリオドがなかったのです。
私のような初学者にはなかなか難しいです。
なので、テクノロジーを使って楽をしていきましょう。
ChatGPTで間違えを探る
▼画像のようにコードをコピペしてタイポを探してもらいましょう。
はい!見つかりました!
気をつけたいのは『説明文』と『間違えているコード箇所の指摘』にずれがありますので、回答を確認してきましょう。
ということで、@chats.order (created _at: :desc) .each do |chat|
という一文のeachの直前に『.』ピリオドがなかったことが分かりましたので、コードを修正したエラー解決です。
最後に
ということで、今回はシンタックスエラー(構文エラー)を解決しました。
目で見て解決に時間がかかりそうなところはChatGPTを使って探しだす方が時間の節約になると思います。
いかがでしたでしょうか?
他にも記事を発信していきますので、私の QiitaやTwitterをフォローしていただけると嬉しいです。
個別の質問もぜひ歓迎します。
私自身、初学者ではありますが、1歩先を行くものとして回答できたらと思います。
それでは。