3

我是新来的轨道。我很难理解模板继承。早些时候我在 django 工作过,在那里看到了模板继承。在那里我看到孩子被告知父母使用“扩展”命令。任何人都可以在这里解释它是如何工作的。我已经阅读了红宝石指南,但不清楚。

谢谢

4

1 回答 1

1

在 Rails 中很简单。

您只需告诉您当前正在渲染的模板来渲染另一个模板。

例如layouts/application.html.erb包含这样的内容:

<% content_for :navigation do %>
<nav>...</nav>
<% end %>     

<% content_for :content do %>                                                                                                                                                                       
<%= yield %>                                                                                                                                                                                        
<% end %>                                                                                                                                                                                           

<%= render :template => 'layouts/main_application' %>   

重要的部分是render :template然后委托这个模板也呈现layouts/main_application.html.erb在我的例子中看起来像这样的部分:

<header>
...
</header>
<body>
<%= yield :nav %>
<%= content_for?(:content) ? yield(:content) : yield %> 
</body>

我在这里所做的是拥有一个不包含导航(用于登录等)的主模板,并且 application.html.erb 将该导航添加到:nav内容占位符。

于 2012-07-20T08:39:54.050 回答