こんにちは!
エラーが発生したのをきっかけに、
SyntaxErrorInTemplateについて調べて
アウトプットしたいと思います!
エラー内容
上記に該当する実際のVSコード
SyntaxErrorInTemplateというエラー内容です。
SyntaxErrorInTemplateについて調べてみたところ
以下のエラー問題点に関する仮説を立てました。
①ビューに乱れがある?
②Controller#showとshow.html.erb間で
読み込めないていないので
Controller#showで行った変数定義に誤りがあるのか?
①だとするならば36行目がの記述に誤りがあるのかと
思い、「,」や()の抜け漏れやspellチェックなどを確かめてみましたが
エラーは解消できませんでした。
②の場合、Controller#showを調べてみましたが
特に誤った記述は確認できませんでした。
SyntaxErrorInTemplateはviewに関するエラーの可能性が高い
正直ね、ここで僕3時間ぐらい悩みました。
これだけ悩んだら質問していいだろうと思い
メンターの方に聞いてみました。
そもそもSyntaxError自体は構文エラーで
書き方に誤りがあるのでビューファイルに
問題がある可能性が高いとのことを伺いました。
本当にありがとうございました。
user_signed_in?メソッドの使用方法に誤り
<% if user_signed_in? %>
と記述しなきゃいけないところを
<% if user_signed_in ? %>
とinと?の間に半角スペースがあったことで
user_signed_in?メソッドが処理されなかったことで
エラーが起こっていただけでした。