将嵌套布局定义为Sinatra中的默认布局

时间:2020-09-17 21:08:57

标签: sinatra

Sinatra documentation描述了如何渲染嵌套布局。

erb :main_layout, :layout => false do
  erb :admin_layout do
    erb :user
  end
end

它还描述了如何覆盖整个应用程序的默认布局:

set :erb => {:layout => :alt_layout}

在我看来,为了使用嵌套布局,每次渲染模板时,我都必须重写该块,例如

get '/user' do
  erb :main_layout, :layout => false do
    erb :admin_layout do
      erb :user
    end
  end
end

是否可以为Sinatra :: Base应用程序命名嵌套布局或将其定义为默认布局,因此我可以执行以下操作并获得与以上?

get '/user' do
  erb :user
end

(我知道我可以定义一个包含嵌套块的实例方法,并使用它代替#erb,但是我的问题是我是否可以在应用程序中定义一个嵌套布局,以使其在不更改erb的情况下工作(模板调用)。

0 个答案:

没有答案