Запуск другого маршрута с помощью строки запроса внутри Sinatra

Я пишу маршрут, который объединяет ответы нескольких маршрутов вместе, поэтому мне нужно запускать другие маршруты из Sinatra. Для этого я нашел этот код в README Sinatra:

status, headers, body = call env.merge("PATH_INFO" => '/bar')

Однако он не отправляет строку запроса. Итак, я попробовал следующее:

status, headers, body = call env.merge(
    "PATH_INFO" => '/bar', 
    "QUERY_STRING" => 'param=1'
)

Похоже, это не работает. Как я могу вызвать другой маршрут и передать строку запроса так, чтобы значения в строке попадали в хэш params вызываемого маршрута.

Мы используем Sinatra 1.3.1 и Rack 1.3.5.

5
задан Hemlock 31 January 2012 в 15:38
поделиться