为什么没有呈现Mojolicious路线参数?

时间:2017-02-13 13:04:39

标签: perl mojolicious

我的路线有默认捕获值:

my $api =  $r->under( '/api/v:api', [ api => qr/\d+/ ], { api => 1 } )->name( 'api' );

当我render这条路线时,我得到/api/v

$api->render; # /api/v

没关系,但是当我想强制进行版本渲染时,它不会呈现:

$api->render({ api => 1 }); # RESULT: /api/v EXPECT: /api/v1

即使1等于默认值

,我也没想到

为什么当我强制它时不呈现Mojolicious路线参数?

1 个答案:

答案 0 :(得分:1)

如果要在同一路径段(斜杠之间)中混合文本和占位符,请在Routing Guide中看到,您需要用括号括住占位符。

$r->under('/api/v(:api)', ...)

应该有效,但是,进一步说,一旦你有括号表格,你可以省略:所以

$r->under('/api/v(api)', ...)

也应该有用。