[Rails]render 메소드란?
처음에
왜 이 기사를 쓰고 싶었는지
최근 드디어 render에서 눈치채는 적이 있었기 때문에 언어화하고 기억의 정착을 위해 쓰고 싶다!
환경
・Macbook Air (Retina, 13-inch, 2019)
· 프로세서 1.6GHz 듀얼 코어 Intel Core i5
・메모리 8GB 2133 Mhz LPDDR3
· MacOS Big Sur 버전 11.5.2
기사 목차
1) 무엇을 할 수 있는가
2) 어떻게 잡는지
3) 옵션
4) 자신이 혼란스러웠던 것
5) 마지막으로
무엇을 할 수 있는가
render 메소드로 지정한 view 파일로 이동 혹은 배치할 수 있다!
render 메소드는 app / views를 기점으로 패스를 전달하면 전달 된 패스를 출력합니다!
(예:)
1) 이 Qiita 페이지 위의 녹색 부분을 각 view 파일에 한 번 한 번 코드를 쓰는 것보다 render를 사용하면 render를 사용하여 한 번에 배치할 수 있다!
2) DB에 데이터를 추가 보존하는 create 액션을 한 후의 처리에서 render를 사용하면 지정한 view로 천이가 가능하게 된다.
어떻게 사용하는지 (render로 지정한 파일에 따라 사용법이 바뀌기 때문에 주의!)
(같은 폴더의 파일을 배치하고 싶은 경우 → index 파일에 top 파일을 배치하고 싶다)
<%= render "ファイル名" %>
(1) 배치하고 싶은 파일의 작성
(2) 배치하고 싶은 장소에 render를 사용한다.
(다른 폴더의 파일을 배치하고 싶은 경우 →index 파일에 header 파일을 배치하고 싶다)
<%= render "フォルダー名/ファイル名 %> もしくは <%= render partial: "フォルダー名/ファイル名" %>
(1) 배치하고 싶은 파일의 작성
(2) 배치하고 싶은 장소에 render를 사용한다.
(선택 사항) 다른 컨트롤러 아래에있는 view를 출력하는 옵션
<%= render template: "フォルダー名/ファイル名" %>
1) 별도의 controller에 파일을 준비한다.
(2) 배치하고 싶은 장소에 render를 사용한다.
(선택 사항) 다른 애플리케이션 아래의 뷰를 출력하는 옵션
예: furima 애플리케이션에 다른 애플리케이션(sample_app)의 index.html.erb를 배치하고 싶습니다.
<%= render file "u/apps/別のアプリケーション名/現在のアプリケーション/app/views/コントローラー名/配置したいviewのファイル名" %>
<%= render file: "u/apps/sample_app/current/app/views/products/index" %>
(선택 사항) 액션을 출력하고 싶을 때
<%= render action: "アクション名" %>
자신이 혼란스러웠던 것
view에서 render를 사용할 때는 view간의 이동을 할 수 있고, controller에서 render를 사용할 때는 controller간에 설정한 액션을 사용할 수 있다고 착각해 버렸다.
액션을 사용하고 싶은 경우는 옵션을 붙이지 않으면 사용할 수 없다!
마지막으로
사용하는 장소에 따라 render의 기능이 달라진다고 생각해 버려, 생각대로 움직여주지 않는다 이해할 수 없다고 생각하는 것을 피해 버렸습니다만, 아웃풋 할 수 있는 장소가 있으면 자신에게의 이해의 도움이 되기 때문에 좋다 뭐라고 생각했다!
여기까지 읽어 주셔서 감사합니다!
Reference
이 문제에 관하여([Rails]render 메소드란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/janani/items/0e92fcd99660422f2912텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)