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