Ruby on Rails에서 Slim을 사용할 때 form_with에서 "undefined local variable or method `f' for "
개발 환경
Ruby: v2.5.7
Rails: v5.2.4.4
gem slim: v4.1.0
오류 내용
= form_with model:@team, local:true do |f|
= render 'layouts/error_message', model: f.object
.input
= f.label :name
= f.text_field :name
.input
= f.label :introduction
= f.text_area :introduction
= f.submit
이번에 Ruby on Rails의 Gem의 하나인
slim
를 도입했는데 조속히 에러에 걸렸습니다.내용은
NameError
undefined local variable or method f' for #<#<Class:0x00007fef406b53c8>:0x00007fef35880668>
지정하고 있는 f 가 정의되어 있지 않다고 하는 것입니다.
form_with에 기술 된 블록 변수에서 f와 있지만 ...
만약 slim 독특한 form_with 쓰는 방법이 있는 것은??라고 생각해, 여러가지 조사하고 있었습니다만
결과, 다음과 같이 수정하면 해결했습니다.
= form_with model: @team, local: true do |f|
/ それぞれ 1段落インデントをずらしました
= render 'layouts/error_message', model: f.object
.input
= f.label :name
= f.text_field :name
.input
= f.label :introduction
= f.text_area :introduction
= f.submit
들여쓰기 조정이었습니다... 알아보면 간단...
end
이나 ()
가 필요 없기 때문에, form_with의 적용 범위를 어떻게 판별하고 있을까라고 머리에 따랐습니다만, 들여쓰기로 식별하고 있군요. 과연...이 오류를 통해 알았습니다. 웃음
단순한 일이지만, 빠져서 게시합니다.
그렇다고 해도 익숙해지는 것은 필요합니다만, 적은 기술과 괄호가 필요하지 않는 것만으로도 꽤 기술이 간략화되어 코드가 쓰기 쉽고, 보기 쉽습니다. 게다가 렌더링도 조금 빠르다고 하기 때문에 좋은 곳 뿐이네요, slim.
Reference
이 문제에 관하여(Ruby on Rails에서 Slim을 사용할 때 form_with에서 "undefined local variable or method `f' for "), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/curin030204/items/d8aa6f7a85dad281aeb6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)