Картографический маршрут в Синатре - PullRequest
2 голосов
/ 31 октября 2011

все, мне нужно сделать это следующим образом:

require 'sinatra'
require 'app_env'

get '/home' do
  'home page'
end

get '/about' do
  'about page'
end

get '/docs' do
  'docs page'
end

Я не уверен, какой маршрут будет корневым, может быть домашняя страница, страница справки или документы.Итак, я должен установить корневую страницу в файле app_env.rb со строкой, подобной этой route_map '/home' => '/'.Теперь, как мне написать метод / функцию route_map

или что-нибудь еще для реализации моего требования для динамического отображения маршрута.

РЕДАКТИРОВАТЬ: МОЙ ОТВЕТ

HOMEPAGE = '/home_page'
get '/' do
    status, headers, body = call! env.merge("PATH_INFO" => HOMEPAGE)
end

1 Ответ

2 голосов
/ 01 ноября 2011

Если вы хотите перенаправить запросы на «/» на «/ home», то все, что вам нужно сделать, это:

get '/'
  redirect '/home'
end

Если вы не хотите перенаправлять, вы можете сделать это:

get '/foo' do
    status, headers, body = call env.merge("PATH_INFO" => '/bar')
    [status, headers, body.map(&:upcase)]
end

get '/bar' do
    "bar"
end

Подробнее см. this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...