2
나는 사이트가 있습니다. 항목을 표시 할 때 항목에 대한 첫 번째 검토는 들여 쓰기가되어서는 안되며 이후 항목은 들여 쓰기가되어야합니다.트리 렌더링하기 렌더링 컬렉션 사용하기
HTML 출력 같은 것을 보일 것입니다 :
<ul>
<li>review for item 1</li>
<li>
review for item 2
<ul>
<li>2nd review for item 2</li>
<li>3rd review for item 2</li>
</ul>
</li>
</ul>
출력을 I은 다음과 같습니다납니다 :
<ul>
<li>review for item 1</li>
<li>
review for item 2
</li> <!-- wrong -->
<li> <!-- wrong -->
<ul>
<li>2nd review for item 2</li>
<li>3rd review for item 2</li>
</ul>
</li>
</ul>
_reviews.html.erb
<%= render :partial => "review_item", :collection => @reviews, :locals => { :reviews_local => @reviews } %>
_review_item. html.erb
<% if review_item_counter == 0 %>
<ul>
<% end %>
<li>
<% if @current_reviewable != review_item.id %>
<% @current_reviewable = review_item.id %>
<%= review_item.body %>
<% else %>
<% reviews_local.slice!(review_item_counter, reviews_local.size) %>
<%= render :partial => "review_item", :collection => reviews_local, :locals => { :reviews_local => reviews_local } %>
<% end %>
</li>
<% if review_item_counter == reviews_local.size - 1 %>
</ul>
<% end %>
나는 iteration과 div로 훨씬 쉽게 이것을 할 수 있었다. 재귀는 실제로 두통을 일으키고 있습니다. – Dex