2010-03-14 59 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