2010-03-14 35 views
4

我希望能夠做到以下幾點:西納特拉路由異常

get '/:slug' do 
    haml :page 
end 

get '/administration' do 
    haml :admin 
end 

有沒有辦法,我可以有get '/:slug' do的方式有一個例外/管理?我意識到你可以這樣做,如果其他語句:

get '/:slug' do 
    if params[:slug] == 'administration' 
    haml :admin 
    else 
    haml :page 
    end 
end 

但這不是很乾淨看。有沒有辦法讓路線異常?

回答

7

Sinatra應該尊重路線的順序,所以如果你先放入/administration路線,並且請求匹配它,那麼get '/:slug'根本不會被調用。

+0

我不知道它的工作方式,謝謝。 – 2010-03-14 23:10:47