什么是Rails application.html.erb的Sinatra等价物?

时间:2011-01-31 19:06:12

标签: ruby-on-rails ruby sinatra

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

我如何在Sinatra中使用它?

2 个答案:

答案 0 :(得分:5)

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

  • Haml:= yield
  • Erb:<%= yield %>

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

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

   # Or for ERb:
   # erb :login, :layout => :logged_out
end

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

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

   # Or for ERb:
   # erb :home, :layout => false
end

有关详情,请参阅the Sinatra book

答案 1 :(得分:0)

是的,是的!它是位于/views/layout.erb中的布局文件 您应该自己创建它或使用this script生成sinatra应用程序的骨架。