tl;dr:在 Sinatra 中是否有一种干净的嵌套布局方式?
对于我网站上的所有页面,我有一个通用的 layout.erb,它呈现页眉、页脚和其他一些位。
对于这些页面的一个子集,我想使用内部布局,除了那些公共(public)位之外,它还呈现左侧菜单。
全局
erb :pageTemplate
执行layout.erb,其中yield
执行pageTemplate
在子集中
erb :pageTemplate
执行 layout.erb,其中 yield
执行 specificLayout.erb,其中 yield
执行 pageTemplate。
有道理吗?
我对单独的类、before 语句和任何其他 ruby 魔法持开放态度。我不想添加页眉/页 footer 分并将它们包含在每个布局中。
最佳答案
erb :site_layout, :layout => false do
erb :region_layout do
erb :page
end
end
现在,:site_layout
可以包含页眉和页脚,:region_layout
可以包含左侧导航,而:page
只需要担心页面内容!
关于ruby - Sinatra 中的嵌套布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17215993/