在HAML中是否可以在haml之类的模板中使用haml?
示例:
page1:
haml: menu.haml
%p
content
如您所知,从layout.haml获取布局(如横幅等)。 我想在haml文件中创建一个单独的菜单部分。这甚至可能吗?
额外信息:
答案 0 :(得分:3)
是。假设menu.haml
位于您的views目录中,并假设它不需要本地人,那就像这样简单:
= haml :menu
答案 1 :(得分:1)
不确定
= Haml::Engine.new(menu.haml).render(self)
self
是视图文件中的当前上下文
答案 2 :(得分:1)
是的,您甚至可以像这样呈现haml部分:
= render:partial => “栏”
答案 3 :(得分:1)
您可以在现有模板中添加partials作为嵌入式haml
:
例如,您有一个名为view.html.haml
的视图文件:
%h2 This is the first view
%h4 the following line 'inserts' an external code inside the view
=render 'partial'
%h4 this text will appear next of partial
结束部分代码partial.html.haml
:
%p
%span This is the external code
所以,编译时的最终视图将是:
%h2 This is the first view
%h4 the following line 'inserts' an external code inside the view
%p
%span This is the external code
%h4 this text will appear next of partial
内部引用的文本render
是Rails中部分内部app/view
文件夹的路径,没有文件扩展名,您可以添加选项,例如:layout
或:partial
。关于Sinatra部分工作路径的方式相同,只需更改视图路径即可。