我有一个使用 Haml 进行布局的网页。 “layout.haml”是一个单独的布局文件,用于呈现任何实际的 Haml 页面。
layout.haml 看起来像这样:
-# layout.haml
!!! XML
!!!
%html
%head
...
%body
...
#content= yield
这当然已经在文档的 <body>
中了因此无法直接在 header 中操作内容。例如<title>
通过 @title
更改.一个更大的问题是每个页面特定的 JavaScript 都需要加载到正文中。此外,layout.haml 已经包含 JavaScript,因此 jQuery 通常会被多次实例化。
对于更好的模板结构有什么建议吗?
最佳答案
此解决方案仅适用于 Ruby on Rails:
您可以使用 yield(:location)
和 content_for(:location)
方法。 “Using the content_for
Method” 有更多信息。
layout.haml:
!!!
%html
%head
%title= yield(:title)
= yield(:head)
%body
= yield
view.haml:
- content_for(:title, 'My title')
- content_for(:head) do
= javascript_include_tag :foo
%h1 My view!
关于ruby - 如何在 Haml 中构建布局模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4421842/