嵌套的ERB模板布局如Liquid?

时间:2011-01-02 19:22:52

标签: templates layout nested erb liquid

使用Liquid,您可以嵌套布局。例如,my site's default layout建立在base layout之上。

ERB这可能吗?如果是这样,怎么样?

我问,因为我正在将GitHub Pages网站迁移到Sinatra,以便我可以原生处理表单(不是WufooGoogle Forms)。< / p>

1 个答案:

答案 0 :(得分:2)

试试这个:

创建一个名为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上的模板,您也可以使用自定义布局。

希望这会有所帮助。