bestsource

변수를 부분 레일 3으로 전달하시겠습니까?

bestsource 2023. 6. 3. 08:34
반응형

변수를 부분 레일 3으로 전달하시겠습니까?

다음과 같은 루프가 있습니다.

<% @posts.each do |post| %>
  <% render middle %>
<% end %>

그렇다면 저의 중간 부분에서는 현재 게시물에 어떻게 접속하나요?

사용해 보십시오.

<% @posts.each do |post| %>
  <%= render 'middle', :post => post %>
<% end %>

이렇게 하면 로컬 변수가 생깁니다.post부분적으로 이용 가능합니다.

부분 변수에 로컬 변수로 제공

<%= render :partial => 'middle', :locals => { :post => post } %>

물론 레일에는 컬렉션 렌더링을 위한 바로 가기도 있습니다.

<%= render :partial => 'post', :collection => @posts %>

이 경우 로컬 변수가 있는 모든 게시물에 대한 부분 게시물을 'post'로 호출합니다.

각 게시물 사이에 스페이서 템플릿을 렌더링할 수도 있습니다.

<%= render :partial => 'post', :collection => @posts, :spacer_template => 'post_divider' %>
<% @posts.each do |post| %>
  <% render middle, :post => post %>
<% end %>

이제 로컬 변수로 포스트에 액세스할 수 있습니다.post부분적으로

교체하다<%= render middle %>와 함께<%= render middle, :post => post %>그럼 당신의middle부분적으로, 당신은 접속할 수 있습니다.post변수.

각 블록 전체를 다음으로 바꿀 수 있습니다.

<%= render partial: "product", collection: @posts %>

또는 더 짧습니다.

<%= render @posts %>

전체 문서(섹션 3.2) https://guides.rubyonrails.org/action_view_overview.html

언급URL : https://stackoverflow.com/questions/4700617/pass-a-variable-into-a-partial-rails-3

반응형