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