일부 템플릿으로 다른 컨트롤러 보기를 호출하는 방법
입문
다른 파일의 보기에 다른 파일의 보기를 표시할 때,render로 이 보기를 부분적으로 호출할 수 있습니다.
다음은 일부 템플릿의 방법을 소개한다.
카탈로그
개발 환경
ruby 2.6.5
rails 6.0.0
실시
그러면 설치를 해볼게요.
1. 일부 템플릿 파일의 이름 정보
먼저 뷰 파일을 일부 템플릿으로 만들 때 파일 이름 앞에 (밑줄) 를 추가합니다(예: _index.html.erb
.
이번에는 제품 컨트롤러의 보기를 일부 템플릿으로 사용하고 싶어서 _
가 되기 위해 파일 이름을 편집했습니다.
2. 렌더로 호출
다음은 템플릿의 한쪽 묘사 products/_index
격자입니다.
이번에는 아래의 서술을 하겠습니다.
app/views/tops/index.html.erb#省略
<%= render partial: "products/index" %>
문법 여기 있어요.render partial: コントローラー名/ファイル名
partial 옵션은 일부 템플릿을 호출하는 데 사용됩니다.단지, 단지 강조할 뿐, 더하지 않아도 불러낼 수 있다.
이렇게 하면 완성!!이렇게 생각하지만 이번render
을 정의하여 제품 모델에서 데이터를 얻어 보기에 표시하기 때문에 tops 컨트롤러도 정의가 필요하다.
3. 컨트롤러 정의
저장된 데이터를 호출할 때 컨트롤러는 데이터를 @products
대입하여 보기에서 사용합니다.
제품 컨트롤러로 움직이면 그쪽에서 정의インスタンス変数
하지만 이번에는 tops 컨트롤러의 동작이 움직이기 때문에 그쪽에서 정의해야 합니다.
app/views/products/_index.html.erb<h1>Products#index</h1>
<p>Find me in app/views/products/index.html.erb</p>
<div class="#">
<% @products.each do |product| %> #ここで@productsを定義してるので、コントローラーでも定義が必要です。
<%= product.name %>
<%= product.text %>
<% end %>
</div>
이 @products
를 일부 템플릿으로 호출하기 때문에 호출 측products/_index.html.erb
에서도 tops_contller.rb
정의가 필요합니다.
app/contollers/tops_contller.rbclass TopsController < ApplicationController
def index
@tops = Top.all
@products = Product.all #部分テンプレートで_index.htmlを表示させる為の定義
end
이게 완성이야!!!
총결산
다음은 일부 템플릿의 절차입니다.
용도에 따라 다른 방법이 있는데, 이번에는 이 방법으로 설치합니다.
마지막
저는 프로그래밍 초보자입니다. 저와 같이 엔지니어를 목표로 하는 여러분을 도와주고 싶어서 기사를 투고했습니다.
그럼 다음에 또 만나요~
Reference
이 문제에 관하여(일부 템플릿으로 다른 컨트롤러 보기를 호출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/AKI3/items/5b99e18660538f8214ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그러면 설치를 해볼게요.
1. 일부 템플릿 파일의 이름 정보
먼저 뷰 파일을 일부 템플릿으로 만들 때 파일 이름 앞에 (밑줄) 를 추가합니다(예: _index.html.erb
.
이번에는 제품 컨트롤러의 보기를 일부 템플릿으로 사용하고 싶어서 _
가 되기 위해 파일 이름을 편집했습니다.
2. 렌더로 호출
다음은 템플릿의 한쪽 묘사 products/_index
격자입니다.
이번에는 아래의 서술을 하겠습니다.
app/views/tops/index.html.erb#省略
<%= render partial: "products/index" %>
문법 여기 있어요.render partial: コントローラー名/ファイル名
partial 옵션은 일부 템플릿을 호출하는 데 사용됩니다.단지, 단지 강조할 뿐, 더하지 않아도 불러낼 수 있다.
이렇게 하면 완성!!이렇게 생각하지만 이번render
을 정의하여 제품 모델에서 데이터를 얻어 보기에 표시하기 때문에 tops 컨트롤러도 정의가 필요하다.
3. 컨트롤러 정의
저장된 데이터를 호출할 때 컨트롤러는 데이터를 @products
대입하여 보기에서 사용합니다.
제품 컨트롤러로 움직이면 그쪽에서 정의インスタンス変数
하지만 이번에는 tops 컨트롤러의 동작이 움직이기 때문에 그쪽에서 정의해야 합니다.
app/views/products/_index.html.erb<h1>Products#index</h1>
<p>Find me in app/views/products/index.html.erb</p>
<div class="#">
<% @products.each do |product| %> #ここで@productsを定義してるので、コントローラーでも定義が必要です。
<%= product.name %>
<%= product.text %>
<% end %>
</div>
이 @products
를 일부 템플릿으로 호출하기 때문에 호출 측products/_index.html.erb
에서도 tops_contller.rb
정의가 필요합니다.
app/contollers/tops_contller.rbclass TopsController < ApplicationController
def index
@tops = Top.all
@products = Product.all #部分テンプレートで_index.htmlを表示させる為の定義
end
이게 완성이야!!!
총결산
다음은 일부 템플릿의 절차입니다.
용도에 따라 다른 방법이 있는데, 이번에는 이 방법으로 설치합니다.
마지막
저는 프로그래밍 초보자입니다. 저와 같이 엔지니어를 목표로 하는 여러분을 도와주고 싶어서 기사를 투고했습니다.
그럼 다음에 또 만나요~
Reference
이 문제에 관하여(일부 템플릿으로 다른 컨트롤러 보기를 호출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/AKI3/items/5b99e18660538f8214ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음은 템플릿의 한쪽 묘사
products/_index
격자입니다.이번에는 아래의 서술을 하겠습니다.
app/views/tops/index.html.erb
#省略
<%= render partial: "products/index" %>
문법 여기 있어요.render partial: コントローラー名/ファイル名
partial 옵션은 일부 템플릿을 호출하는 데 사용됩니다.단지, 단지 강조할 뿐, 더하지 않아도 불러낼 수 있다.이렇게 하면 완성!!이렇게 생각하지만 이번
render
을 정의하여 제품 모델에서 데이터를 얻어 보기에 표시하기 때문에 tops 컨트롤러도 정의가 필요하다.3. 컨트롤러 정의
저장된 데이터를 호출할 때 컨트롤러는 데이터를 @products
대입하여 보기에서 사용합니다.
제품 컨트롤러로 움직이면 그쪽에서 정의インスタンス変数
하지만 이번에는 tops 컨트롤러의 동작이 움직이기 때문에 그쪽에서 정의해야 합니다.
app/views/products/_index.html.erb<h1>Products#index</h1>
<p>Find me in app/views/products/index.html.erb</p>
<div class="#">
<% @products.each do |product| %> #ここで@productsを定義してるので、コントローラーでも定義が必要です。
<%= product.name %>
<%= product.text %>
<% end %>
</div>
이 @products
를 일부 템플릿으로 호출하기 때문에 호출 측products/_index.html.erb
에서도 tops_contller.rb
정의가 필요합니다.
app/contollers/tops_contller.rbclass TopsController < ApplicationController
def index
@tops = Top.all
@products = Product.all #部分テンプレートで_index.htmlを表示させる為の定義
end
이게 완성이야!!!
총결산
다음은 일부 템플릿의 절차입니다.
용도에 따라 다른 방법이 있는데, 이번에는 이 방법으로 설치합니다.
마지막
저는 프로그래밍 초보자입니다. 저와 같이 엔지니어를 목표로 하는 여러분을 도와주고 싶어서 기사를 투고했습니다.
그럼 다음에 또 만나요~
Reference
이 문제에 관하여(일부 템플릿으로 다른 컨트롤러 보기를 호출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/AKI3/items/5b99e18660538f8214ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<h1>Products#index</h1>
<p>Find me in app/views/products/index.html.erb</p>
<div class="#">
<% @products.each do |product| %> #ここで@productsを定義してるので、コントローラーでも定義が必要です。
<%= product.name %>
<%= product.text %>
<% end %>
</div>
class TopsController < ApplicationController
def index
@tops = Top.all
@products = Product.all #部分テンプレートで_index.htmlを表示させる為の定義
end
다음은 일부 템플릿의 절차입니다.
용도에 따라 다른 방법이 있는데, 이번에는 이 방법으로 설치합니다.
마지막
저는 프로그래밍 초보자입니다. 저와 같이 엔지니어를 목표로 하는 여러분을 도와주고 싶어서 기사를 투고했습니다.
그럼 다음에 또 만나요~
Reference
이 문제에 관하여(일부 템플릿으로 다른 컨트롤러 보기를 호출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/AKI3/items/5b99e18660538f8214ad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)