6

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

4

4 回答 4

6

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

sinatra 书解释了如何使用 alayout.erb来定义标准页面布局:

您只需要使用以下内容定义一个views/layout.erb文件:

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

erb :index然后用例如调用你的 erb 模板。Sinatra 将渲染这两个模板并将索引模板的内容包含在 layout.erb 渲染的结果中。

于 2011-04-03T22:23:30.870 回答
5

您正在寻找的是partialslayouts。您可以将布局定义为具有全局设计内容(您的 CSS 和 javascript 包括、页眉和页脚等)的页面容器。在此视图中,您可以yield使用另一个模板,并且该模板可以呈现partials.

于 2010-03-01T00:06:36.853 回答
2

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

编辑:

根据@Dan 的评论,我看了一下 Django 模板继承,它看起来与 Rails 非常相似content_for。但是我不知道如何在 Rails 之外使用它。在此处查看第3.2 和 3.3 点,以及此处

于 2010-03-01T00:19:31.600 回答
0

现在有框架Rango ,这是第一个具有模板继承的 Ruby 框架,以及从中提取的与框架无关的模板继承gem。

于 2013-01-03T19:33:28.000 回答