使用Liquid,您可以嵌套布局。例如,我网站的 默认布局建立在基本布局之上。
这可能与ERB吗?如果是这样,怎么做?
我之所以问,是因为我正在将GitHub Pages站点迁移到Sinatra,以便我可以本地处理表单(而不是使用Wufoo或Google Forms)。
尝试这个:
制作一个名为 layout.haml 的文件(或 erb 或您的模板所在的任何内容),并将其放入 views 文件夹中。这是您的网站布局,它可能看起来像这样(我正在使用 haml):
%html
%head
%link(rel="stylesheet" type="text/css" href="style.css")
%body
%div.outer
%div.inner
= yield
神奇的部分是,=yield
这是 Sinatra 将呈现您在路线中调用的任何模板的地方。= 告诉您的模板期待 ruby 代码。
例如,如果您的路线是
get '/' do
haml :index
end
然后将插入 /views/index.haml 中的模板。如果您告诉您的模板覆盖 /views/layout.haml 中的那个,您也可以使用自定义布局。
希望这可以帮助。