作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是新来的 rails 。我很难理解模板继承。早些时候我在 django 工作过,在那里看到了模板继承。在那里我看到 child 被告知 parent 使用“扩展”命令。任何人都可以在这里解释它是如何工作的。我已经阅读了 ruby 指南,但不清楚。
谢谢
最佳答案
在 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
然后委托(delegate)此模板来渲染
layouts/main_application.html.erb
的部分在我的情况下看起来像这样:
<header>
...
</header>
<body>
<%= yield :nav %>
<%= content_for?(:content) ? yield(:content) : yield %>
</body>
:nav
内容占位符。
关于ruby-on-rails - 如何在rails中将子模板扩展到父模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11573426/
我是一名优秀的程序员,十分优秀!