2011-07-21 67 views
7

我試圖通過幫助器呈現content_for塊的結果。在幫助器中呈現content_for塊

我有一個模板(HAML)和佈局如下:

# app/views/books/show.html.haml 
-content_for(:page_header) do 
    %h1= @book.title 

# app/views/application.html.haml 
... 
=yield(:page_header) 
... 

這工作絕對沒問題。

我想要做的是在助手中進行該調用。所以,我的目標如下:

# app/views/books/show.html.haml 
-content_for(:page_header) do 
    %h1= @book.title 

# app/views/application.html.haml 
.... 
=page_header(block) 
.... 

# app/helpers/application.rb 
.... 
def page_header(&block) 

    # Some view logic 
    # ... 

    =yield(:page_header) 
end 
.... 

我可以通過調用助手與實現部分結果:

# app/views/application.html.haml 
=page_header { yield(:page_header) } 

# app/helpers/application.rb 
def page_header(&block) 
    yield 
end 

但感覺醜陋的我。

任何想法?提前致謝。

解答:再次使用content_for(:page_header)來渲染它。

回答