layout
layout的好處就是可以減少文件的重復代碼,DRY(Don't Repeat Yourself)這已經(jīng)是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
…
…
和上面的是一樣的道理