1.はじめに
Ruby on Railsにて部分テンプレートを実装している最中にエラーが発生しました。
同じミスをしないよう、解決方法を記録に残しておきます。
2.前提条件
開発環境
Ruby:ruby 3.1.2
Rails:Rails 6.1.6.1
OS:Windows11 Home
実装状況
・deviceを導入し、ログイン機能実装
・ゲストログイン機能実装
・投稿機能実装(投稿一覧、投稿詳細ページ作成)
・会員詳細画面実装
・コメント機能実装
・コメント機能の非同期通信 ←今ココ
やりたいこと
コメント機能を非同期通信にするために、まずはコメント投稿フォームとコメント一覧をそれぞれ部分テンプレート化したい。
3.エラーメッセージの内容
②エラーメッセージの意味
ビューページ表示できないですよみたいな意味だと思われる。。
③エラーの原因を考える
エラー画面にも書かれているが、renderの記述がおかしいと思われる。
renderの記述は下記のように記述する。
<%= render [部分テンプレートファイルの指定], [ローカル変数]:[渡す値] %>
今回ファイルが読み込めていないっぽいので[部分テンプレートファイルの指定]
がおかしいと思われる
4.エラー解決までの流れ
renderの記述を確認する
<%= render "outfit_comments/form", outfit: @outfit, outfit_comment: @outfit_comment %>
ここでミスを発見しました!
予想通り[部分テンプレートファイルの指定]
が間違えていました。
ファイルは
"outfit_comments/form"ではなく
"public/outfit_comments/form"でした!
renderの記述を修正する
<%= render "public/outfit_comments/form", outfit: @outfit, outfit_comment: @outfit_comment %>
※同じくコメント一覧のrenderの記述も間違えていたので、こちらも併せて修正しておきました。
4.最後に
部分テンプレートでのファイル指定は、階層をよく確認してから記述しないといけないということがわかりました!同じミスをしないように、しっかり理解を深めていこうと思います!
最後まで読んでくださり、ありがとうございました!