Ruby模板中的翡翠式块(Haml?)

时间:2012-08-04 21:13:38

标签: ruby haml pug

Ruby中是否有任何模板引擎支持Jade extendblockhttps://github.com/visionmedia/jade#template-inheritance)之类的内容?与Haml和类似人员支持的简单:layout选项相比,这是一个很棒的功能。

如何在Ruby中实现这些块?也许扩展Haml的语法?

1 个答案:

答案 0 :(得分:1)

是的,您可以在haml中使用 content_for? yield 进行模板继承。 例如:

Base.html.haml

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

现在您可以使用另一个haml =>

中的'page_content'

Derived.html.haml

    - content_for :page_content do 
        /contents

'content_for:block_name'块中的任何内容都会在布局中相应的yield的上下文中执行。