我可以继承erb模板吗?

Geo*_*Geo 6 ruby inheritance erb sinatra

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

sim*_*mao 6

我也非常喜欢django模板继承,但它至少不能与sinatra一起使用.

西纳特拉本书解释了如何使用layout.erb来定义一个标准的页面布局:

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

<html>
  <head>..</head>
  <body>
    <%= yield %>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

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


Mik*_*cic 5

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


kle*_*lew 2

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

编辑:

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

  • 我认为你根本没有回答这个问题。如果您有使用 Django 模板的经验,您就会明白他想问什么。 (4认同)