什么是Rails application.html.erb的Sinatra Equivelant?

Nul*_*uli 4 ruby ruby-on-rails sinatra

application.html.erb是一个应用于rails中所有视图的文件.在某种程度上,它的主文件,所有子文件之后的样式/结构.

我如何在Sinatra中使用它?

Phr*_*ogz 5

你想要什么被称为"布局"; 只需在视图目录中放置一个名为layout.haml(或layout.erb,或使用您选择的模板语言)的文件,默认情况下,其他视图的内容将包含在其中.将输出放在yield布局中各个视图的内容应该去的位置.例如:

  • HAML: = yield
  • 厄尔布: <%= yield %>

如果希望路径的结果使用不同的布局,则可以指定备用布局视图的名称,如下所示:

get "/login" do
   # ...
   haml :login, :layout => :logged_out

   # Or for ERb:
   # erb :login, :layout => :logged_out
end
Run Code Online (Sandbox Code Playgroud)

如果您希望特定路径不使用任何布局,请传递false:

get "/" do
   # ...
   haml :home, :layout => false

   # Or for ERb:
   # erb :home, :layout => false
end
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Sinatra一书.