Как изменить путь по умолчанию в контроллере Mojolicious - PullRequest
0 голосов
/ 08 апреля 2019

В моем приложении Mojolicious я встраиваю файл SVG, сгенерированный из gnuplot.Проблема в том, что gnuplot игнорирует jsdir для grid.png и оставляет его как относительный путь.

  <image x='10' y='274' width='16' height='16' xlink:href='grid.png'
    onclick='gnuplot_svg.toggleGrid();'/>

Это заставляет Mojolicious придумать URL-адрес изображения.В моем случае я хочу получить доступ к этому файлу из каталога public /, но мой контроллер хочет найти его, связанный с его путем.

[2019-04-08 10:19:21.46569] [28105] [debug] GET "/reports/grid.png" (e9f0c2a8)
[2019-04-08 10:19:21.46596] [28105] [debug] Routing to controller "WebLOC::Controller::Auth" and action "check"
[2019-04-08 10:19:21.46632] [28105] [debug] Routing to controller "WebLOC::Controller::Reports" and action "grid"
[2019-04-08 10:19:21.46637] [28105] [debug] Action not found in controller
[2019-04-08 10:19:21.46658] [28105] [debug] Template "reports/grid.png.ep" not found
[2019-04-08 10:19:21.46679] [28105] [debug] Template "not_found.development.png.ep" not found
[2019-04-08 10:19:21.46696] [28105] [debug] Template "not_found.png.ep" not found
[2019-04-08 10:19:21.46713] [28105] [debug] Template "not_found.development.html.ep" not found
[2019-04-08 10:19:21.46729] [28105] [debug] Template "not_found.html.ep" not found
[2019-04-08 10:19:21.46739] [28105] [debug] Rendering cached template "mojo/debug.html.ep"
[2019-04-08 10:19:21.46851] [28105] [debug] Rendering cached template "mojo/menubar.html.ep"
[2019-04-08 10:19:21.47419] [28105] [debug] 404 Not Found (0.008486s, 117.841/s)

Как я могу получить Mojolicious GET "/grid.png",а не "/reports/grid.png"?

1 Ответ

0 голосов
/ 15 апреля 2019

Это на самом деле связано не с Mojolicious, а с XML / HTML. Путь "grid.png" в XML будет интерпретироваться относительно текущего пути URL. Если это в вашем корне, вы хотите путь "/grid.png", который является относительным к домену. Вам может понадобиться использовать помощник url_for , если ваш сайт не развернут как корень домена.

...