Sinatra yield 模板和嵌套布局
布局通常是包含了 yield 方法的模板。布局模板可以通过:template
选项使用,也可用来渲染一个如下的块:
erb :post, :layout => false do
erb :index
end
上述代码等价于erb :index, :layout => :post
。
对于创建嵌套布局而言,传递块给渲染方法非常的有用:
erb :main_layout, :layout => false do
erb :admin_layout do
erb :user
end
end
上述代码,等价于如下的代码:
erb :admin_layout, :layout => :main_layout do
erb :user
end
当前,可以接受块的渲染方法有:erb, haml, liquid, slim , wlang 以及通用的 render 方法。