2012-08-04 60 views
4

Ruby中是否有任何模板引擎支持類似Jade extendblockhttps://github.com/visionmedia/jade#template-inheritance)?與Haml和類似支持的簡單:layout選項相比,這是一個很棒的功能。Ruby模板中的Jade風格塊(Haml?)

任何想法如何在Ruby中實現這些塊?也許擴展Haml的語法?

+0

如果我正確理解這個特性,使用[content_for](http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for)可以在Rails中實現類似的效果。 – silvenon 2012-09-05 20:23:05

回答

1

是的,您可以使用content_for?在haml中產生用於模板繼承。 實施例:

Base.html.haml

 
    %html 
     = render "layouts/head" 
      %body 
       .container.container-main 
        = content_for?(:page_content) ? yield(:page_content) : yield 

現在可以使用 'PAGE_CONTENT' 從另一個HAML =>

Derived.html.haml

 
    - content_for :page_content do 
     /contents 

任何在'content_for:block_name'塊在其佈局中各自的良率上下文中執行。