2010-05-06 87 views
0

調用yield()兩次會產生什麼影響?例如調用yield()兩次的含義

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

這會消耗一點點時間嗎?我似乎無法獲得content_for?工作:/

+0

這基本上不是你如何處理良率。 – 2010-05-06 23:57:32

回答

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

也許你想爲你的內容的默認值,如果沒有提供?

瑞恩·貝茨做這樣的事情在他的代碼(www.railscasts.com):

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

這將產生一個給定的標題或「無題」如果沒有直接。也給一些these一槍。

0

調用兩次產量會導致塊在當前作用域中被評估兩次。