我是Sinatra的新手,我无法弄清楚应用程序布局的位置。
我见过使用
的内联方法# app code
__END__
@@layout
%html
= yield
但我希望布局在其自己的.haml
文件中。
布局文件应该命名为什么?它应放在什么目录中?
答案 0 :(得分:26)
要使每个视图默认包含在布局中,请在views/layout.haml
中创建一个文件,并且您对haml :myview
的调用将自动包含在此布局中。
如果您希望特定视图渲染不使用布局,请使用:
get '/' do
# Other pages will use layout.haml, but not the main page
haml :home, :layout => false
end
如果要使用公共布局以外的布局,请创建另一个文件(例如views/admin_layout.haml
),然后将其作为选项传递:
get '/admin/create' do
haml :create, :layout => :admin_layout
end
答案 1 :(得分:20)
如果您还没有,请创建一个名为sinatra脚本的文件夹...
views/
并将您的布局放在那里,调用您的布局
layout.haml
或您想要使用的任何扩展名(例如.erubis
)。