layout
layout的好处就是可以减少文件的重复代码,DRY(Don't Repeat Yourself)这已经是ruby圈子里最常见到的一个词语了。
默认情况下,Sinatra会把命名为layout的文件成为layout视图(layout view),所以我们可以把上次的文件改为
__END__
@@layout
-#title赋值
- title = "Sinatra app"
!!!5
%html
%head
-# 输出title
%title= title
%body
%header
%h1 Welcome
%nav
%ul
%li
%a(title="home",href="/") home
%li
%a(title="about",href="/about") about
%section
%p yield
@@home
%p This is sample app
就这么简单!
接着我们就可以添加about的内容了
添加路径
get '/about' do
haml: about
end
接着就添加描述
-#注意和上面的view名字相同
@@about
%p sinatra about
我们也可以指定layout
get 'contact' do
haml: contact,:layout => :layout1
end
@@layout1
…
…
和上面的是一样的道理