代码之家  ›  专栏  ›  技术社区  ›  Geo

我可以继承一个erb模板吗?

  •  6
  • Geo  · 技术社区  · 15 年前

    有没有办法让模板继承另一个模板?我没有用铁轨。

    4 回复  |  直到 12 年前
        1
  •  2
  •   klew    14 年前

    不,不能继承erb模板-它不是类。只是一个文件。

    编辑:

    根据@dan的评论,我查看了django模板继承,它看起来非常类似于rails content_for . 但是我不知道如何在rails之外使用它。看一看 here 在第3.2和3.3点,以及 here

        2
  •  6
  •   simao    14 年前

    我也非常喜欢django模板继承,但至少在sinatra中是不可用的。

    这个 sinatra book 解释如何使用 layout.erb 要定义标准页面布局,请执行以下操作:

    你只需要定义一个 views/layout.erb 像这样的文件:

    <html>
      <head>..</head>
      <body>
        <%= yield %>
      </body>
    </html>
    

    然后调用您的erb模板 erb :index 例如。sinatra将呈现两个模板,并在layout.erb呈现结果中包含索引模板的内容。

        3
  •  5
  •   Mike Trpcic    15 年前

    你要找的是 partials layouts . 您可以将布局定义为包含全局设计内容(css和javascript包括、页眉和页脚等)的页面的容器。 yield 到另一个模板,该模板可以呈现 partials .

        4
  •  0
  •   sgtpep    12 年前

    现在有了框架 Rango ,第一个具有模板继承的ruby框架,以及一个与框架无关的 template inheritance 从中提取的宝石。