Могу ли я иметь обычные параметры вместе с CGI::Application::Dispatch?
Я ценю возможность быть в состоянии сделать: http://server/controller/runmode или даже http://server/controller/runmode/id. Но если у меня есть много необязательных параметров, я бы хотел иметь возможность делать обычные: http://server/controller/runmode?foo=bar&baz=frew, тем более что у меня много JS, которые будут делать последнее для меня. Кто-нибудь знает способ разрешить эту функциональность?
Спасибо!
Редактировать: Хорошо, я понял это с помощью mpeters. Чтобы получить параметры, сгенерированные САПР, вы, очевидно, просто делаете $self->param('foo'), но если вам нужны обычные параметры, вы делаете $self->query()->param('bar')
2 ответа
Редактировать: Хорошо, я понял это с помощью mpeters. Чтобы получить параметры, сгенерированные САПР, вы, очевидно, просто делаете $self->param('foo'), но если вам нужны обычные параметры, вы делаете $self->query()->param('bar')
Вам не нужно делать ничего волшебного, чтобы это сработало, это сработает само по себе. Вы просто получаете их по-другому. Если это происходит из строки запроса CGI, вы получите
$self->query('param_name')
Если это исходит от PATH_INFO (часть, которая CGI::Application::Dispatch
ручками) то получишь
$self->param('param_name')