터미널에서 ActionView::Template::Error
2286 단어 루비NoMethodError
오류 내용
NoMethodError undefined method
errors' for nil:NilClass
`↓터미널
ActionView::Template::Error (undefined method `errors' for nil:NilClass):
1: <% if model.errors.any? %
2: <div class="error-alert">
3: <ul>
4: <% model.errors.full_messages.each do |message| %>
nil : NilClass에서 "클래스가 없어! 』
undefined method 로부터 「메소드가 미정도리인데,,,」
라는 오류라고 생각할 수 있습니다.
원인
views/new.html.erd
</header>
<div class="items-sell-main">
<h2 class="items-sell-title"> 商品の情報を入力 </h2>
<%= form_with model:@items, local: true do |f| %>
<%= render 'shared/error_messages', model: f.object %>
controllers/items_controller.rb
def new
@item = Item.new
end
컨트롤러와 뷰 파일의 설명을 보면,
컨트롤러는 @ item으로 정의
뷰 파일은 @ items로 정의
여기의 부분을 @ item에 통일하고, 고치면 해소되었습니다.
컨트롤러에 맞게 뷰 파일을 @ item으로 변경하기 만했습니다.
Reference
이 문제에 관하여(터미널에서 ActionView::Template::Error), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wwaattaa/items/a1a59039a0d633101f03텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)