2010-05-06 2 views
0

yield()을 두 번 호출 할 때의 의미는 무엇입니까? 예 :yield()를 두 번 호출 할 때의 의미

- if yield :content_header 
    yield :content_header 
- else 
    No Content Header 

시간이 조금 남았습니까? 나는 content_for를 얻지 못하는 것입니까? 작동하려면 :/

+0

기본적으로 수익률을 처리하는 방법은 기본적으로 다릅니다. –

답변

0

나는 이것이 content_for 블록의 모든 것을 실행한다고 믿지만별로 의미가 없습니다. ?

당신이 content_for 내부의 조건부 논리를 처리 할 수없는 어떤 이유가 있나요 : 없음가 제공되지 않는 경우

<% content_for :content_header do %> 
    <% if some_condition %> 
    <%= render_some_important_thing %> 
    <% else %> 
    <%= render_absence_of_thing %> 
    <% end %> 
<% end %> 
1

아마 당신은 당신의 콘텐츠에 대한 기본값을하고 싶습니다? 아무도가 제공되지 않은 경우 지정된 타이틀 또는 "제목 없음"을 산출

<title><%= h(yield(:title) || "Untitled") %></title> 

:

라이언 베이츠는 자신의 코드 (www.railscasts.com)에서이 같은 작업을 수행합니다. 또한 these 일부를 제공하십시오.

0

yield를 두 번 호출하면 현재 범위에서 블록이 두 번 평가됩니다.

관련 문제