部分テンプレートのviewを記載し、renderで呼び出したらActionView::Missing Template エラー が出てしまいました。
原因と解決
Missing partialというエラーが出ていたことと、以下のrender部分にエラーが出ていたので該当ファイルを確認。
views/bookmarks/_bookmark_area.html.erb
<% if current_user.bookmark?(board) %>
<%= render 'bookmarks/unbookmark', { board: board } %>
<% else %>
<%= render 'bookmarks/bookmark', { board: board } %>
<% end %>
_bookmark_area.html.erbにエラーで表示された<%= render 'bookmark', { board: board } %>が記載されており、_bookmarkをrenderで呼び出しています。
同じ階層内だから'bookmark'で合っているはずなんだけどなーと悩んでいました。
renderの親元を辿ると、
boards/_board/html.erb
<%= render 'bookmarks/bookmark_area', board: board %>
views/bookmarks/_bookmark_area.html.erb
<% if current_user.bookmark?(board) %>
<%= render 'bookmarks/unbookmark', { board: board } %>
<% else %>
<%= render 'bookmarks/bookmark', { board: board } %>
<% end %>
boardsファイル内にrenderされていたので、上記のように記載する必要があった。
他の解決方法
bookmarksファイル内のerbをboardsファイル内に全て移せば、最初の書き方でもOK
最後に
エラー分の内容を修正できてOKだけではなく、他に解決できる方法がないか模索することが大事ですね。