[Moscow.pm] Mojolicious & CGI

Akzhan Abdulin akzhan.abdulin на gmail.com
Сб Дек 25 04:34:28 PST 2010


Используете корневой контрроллер, который парсит параметры и передает
управление на нужное действие нужного контролера.

Так - поскольку ваше желание противоречит концепции роутинга большинства
каркасов, начиная от Rails.

25 декабря 2010 г. 13:26 пользователь Ivan Petrov
<i.petro.77.00 на gmail.com>написал:

> я невнятно написал вопрос видимо.
>
> мне не нужен сайт вида
>
> http://server.zone/controller/action
>
> мне нужен сайт вида
>
> http://server.zone?controller=bla1&action=bla2
>
> Кучу примеров по реализации сайтов первого вида я нашел. спасибо за еще
> один - пригодится :) Но мне нужно сохранить виды урлов в проекте такими же
> как они были. А так же не требовать от пользователей перенастройки apache
> (который сейчас у них просто выполняет cgi-скрипты в конкретной директории)
>
> 25 декабря 2010 г. 13:14 пользователь Юрий Халявин <snufrick на gmail.com>написал:
>
> Вот тут пример вики сделанной, на Mojolicious::Lite.
>> https://github.com/shoorick/mojowka/blob/master/mojowka
>>
>> Ищете "get '/change_password/:id' => [ id => qr/\d+/ ] =>
>> 'change_password';", и все становится понятно.
>>
>> mojowka -- отличный пример, чтобы начать работать с Mojolicious.
>>
>>
>> 25 декабря 2010 г. 13:00 пользователь Ivan Petrov <
>> i.petro.77.00 на gmail.com> написал:
>>
>>> Я пока только разбираюсь с Mojo.
>>>
>>> Есть один проект, который хочется перевести на Mojo (в рамках этого
>>> перевода Mojo и изучится), однако хочется сохранить имеющуюся иерархию
>>> ссылок.
>>>
>>> имеется скрипт, abc.cgi, который обрабатывает примерно такие запросы:
>>>
>>> abc.cgi?action=view&document=123  - просмотр документа 123
>>> abc.cgi?action=save&document=123  - запись документа 123
>>> abc.cgi?action=delete&document=123 - удаление документа 123
>>>
>>> abc.cgi?action=doclist&doctype=555 - просмотр списка документов с типом
>>> 555
>>>
>>> и так далее.
>>>
>>> как в терминах mojo описать такой роутинг?
>>>
>>> если взять Mojolicious::Lite и написать тест:
>>>
>>> abc.cgi
>>>
>>> use Mojolicious::Lite;
>>>
>>> get '/abc.cgi' => sub {
>>>   $_[0]->render(template => 'test');
>>> };
>>> app->start('cgi');
>>>
>>>
>>> __DATA__
>>> @@ test.html.ep
>>>
>>> test
>>>
>>> то на запрос http://server.domain/abc.cgi отдает 404, работает только
>>> get '/' и get '/*'. Как выйти из положения? не хочется пользователей
>>> заставлять перенастраивать апач, да и урлы у них уже в закладках положены
>>> примерно такого вида как написсано.
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>>
>>>
>>
>>
>> --
>> С уважением,
>> Yury Khalyawin
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>>
>>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20101225/29ae62b9/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm