我正在尝试使用HAML构建Sinatra应用程序并使用布局将我的网站分解为部分:
layout.haml
!!!
%html
%head
= partial :head
%body
= partial :header
= partial :#{@template}
= partial :footer
我的Sinatra应用程序正在调用layout.haml
,如下所示:
get '/test' do
@template = "\"test/index\""
haml :"layout"
end
尝试拉入:
views/
|----test/
|----_index.haml
这给了我错误:
错误的参数数量(0表示1..2)
我也尝试重新定义了许多不同的组合但没有成功:
@template = ":\"test/index\""
= partial #{@template}
@template = "test/index"
= partial :#{@template}
注意:我正在使用Sinatra Partials
我是否完全以错误的方式解决这个问题?我的大脑真的很痛苦,试图找出如何将HAML用于DRY模板这样一个基本概念。
答案 0 :(得分:2)
啊,事情如此简单..在this question的帮助下,我当然意识到现在一切都被layout.haml
包裹着,我只需要放置适当的yield
声明
<强> layout.haml 强>
!!!
%html
%head
= partial :head
%body
= partial :header
= yield
= partial :footer
像往常一样调用模板:
get '/test' do
haml :"test/index"
end