我有一个有多种布局的Sinatra应用程序.我想将它们隔离到自己的子目录中views:
app.rb
views/
views/layouts/
views/layouts/default.haml
views/layouts/print.haml
views/layouts/mobile.haml
Run Code Online (Sandbox Code Playgroud)
这是有效的,除了我必须使用每个渲染调用显式设置布局:
get '/' do
haml :index, {:layout => :'layouts/default'}
end
Run Code Online (Sandbox Code Playgroud)
有没有办法全局设置布局(例如,对于模块中的所有路径),或者告诉Sinatra在默认目录之外寻找布局?
Arm*_*n H 12
需要更好的RTFM ...所以Sinatra本身没有特定的选项,但您可以为每个渲染引擎设置默认布局,例如HAML:
configure do
set :haml, :layout => :'layouts/default'
end
Run Code Online (Sandbox Code Playgroud)