ActionView::MissingTemplate in Groups#new 오류 해결 예

4067 단어 haml루비Rails

1. 어떤 오류?



render 메소드로 표시하려고 하는, view 파일이 없다고 하는 내용입니다

필자의 경우는 같은 groups 폴더내의 form이라고 하는 파일로 기재한 것을 인용해 new 파일로 표시하려고 했습니다. (아래 참조)

<오류 문장>



<오류와 관련된 groups 폴더의 파일>

new.html.haml
.chat-group-form
  %h1 新規チャットグループ
  = render partial: 'form', locals: { group: @group }

form.html.haml

= form_for group do |f|
  .chat-group-form__errors
    %h2 10件のエラーが発生しました
    %ul
      %li nameを入力してください
  .chat-group-form__field
    .chat-group-form__field--left
      = f.label :name, class: 'chat-group-form__label'
    .chat-group-form__field--right
      = f.text_field :name, class: 'chat__group_name chat-group-form__input', placeholder: 'グループ名を入力してください'
  .chat-group-form__field.clearfix
    / この部分はインクリメンタルサーチ(ユーザー追加の非同期化のときに使用します
  .chat-group-form__field.clearfix
    .chat-group-form__field--left
      %label.chat-group-form__label{:for => "chat_group_チャットメンバー"} チャットメンバー
    .chat-group-form__field--right
      / グループ作成機能の追加時はここにcollection_check_boxesの記述を入れてください
      = f.collection_check_boxes :user_ids, User.all, :id, :name
      / この部分はインクリメンタルサーチ(ユーザー追加の非同期化のときに使用します
  .chat-group-form__field.clearfix
    .chat-group-form__field--left
    .chat-group-form__field--right
      = f.submit class: 'chat-group-form__action-btn'


2. 원인



구문을 확인해 보면 어디에도 실수가 없기 때문에, 고민하고 있었던 곳, 있었습니다, partial: 'form'이라고 하는 일문이.
  partial이라고 하는 것은 폴더내의 "부품명이 되고 있는 파일"을 인용합니다라고 하는 의미가 있어, 통상의 파일에 대해서 partial이라고 하는 묶음을 늘리면 읽어들이지 않습니다.
 따라서 partial에서 참조한 파일의 파일명은 "부품"임을 의미하는 '_(언더바)'로 시작해야 합니다.

3. 해결 방법



결론으로서는 partial을 사용해 호출하는 파일은 "_(언더 바)"로 시작되는 파일명으로 하면 에러 요인의 하나가 제거된다고 하게 됩니다.

덧붙여서 필자의 경우의 예를 확인해 봅시다. 상기에 첨부한 필자의 파일명을 보면 form의 파일명이 부품의 형태가 되지 않네요. 그래서 form.html.haml→_form.html.haml로 하는 것으로 에러문은 해소됩니다.

좋은 웹페이지 즐겨찾기