【问题标题】:Base url in Mojolicious template renderingMojolicious 模板渲染中的基本 url
【发布时间】:2014-08-06 21:03:24
【问题描述】:

有没有办法让/foo/bar 等url 替换每个模板渲染的bay baseurl/foo/bar

【问题讨论】:

    标签: perl mojolicious


    【解决方案1】:

    当然。您可以使用 Mojolicious::App 对象中的 before_dispatch 挂钩(或者可能是 before_routes 挂钩)来执行此操作。

    app->hook( before_dispatch => sub {
            my $c = shift;
            unless ($c->req->url->path->to_route =~ m#/baseurl#) {
                $c->req->url->path( "/baseurl" . $c->req->url->path->to_string);
            }
        } );
    ...
    app->start;
    

    【讨论】:

    • 这真的是规范的做法吗?对于这样一个常见的功能,它似乎有点 hacky,并且破坏了我的后端(尽管这是我的问题)
    【解决方案2】:

    我还不能添加 cmets,但我只想添加 mob 是正确的 - 使用钩子的示例代码是 URL 重写的推荐方法:

    http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#Rewriting

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-27
      • 2021-03-08
      • 2014-05-11
      • 2011-12-22
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 2016-11-13
      相关资源
      最近更新 更多