Исключения маршрутизации Синатры - PullRequest
4 голосов
/ 15 марта 2010

Я хочу иметь возможность сделать следующее:

get '/:slug' do
  haml :page
end

get '/administration' do
  haml :admin
end

Есть ли способ, которым у меня может быть get '/:slug' do есть исключение для / Administration? Я понимаю, что вы можете сделать это с помощью операторов if else:

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

Но это выглядит не очень чисто. Есть ли способ сделать исключение для маршрутов?

1 Ответ

7 голосов
/ 15 марта 2010

Синатра должен соблюдать порядок маршрутов, поэтому, если вы сначала поставите маршрут /administration, а запрос будет соответствовать ему, get '/:slug' вообще не будет вызываться.

...