Ruby中是否有任何模板引擎支持Jade extend
和block
(https://github.com/visionmedia/jade#template-inheritance)之类的内容?与Haml和类似人员支持的简单:layout
选项相比,这是一个很棒的功能。
如何在Ruby中实现这些块?也许扩展Haml的语法?
答案 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的上下文中执行。