【发布时间】:2021-05-12 05:26:45
【问题描述】:
只有在回调返回真值时才会评估所有后续路由。
following 是什么意思?
- 仅在这条路线下的一组路线
- 在代码后面声明的路由
under
我也不明白下一个场景会发生什么:
perl -Mojo -E '
app->routes->under("/", sub{ warn "R1"; return undef })->get("/r1" => {text => "r1" });
app->routes->under("/", sub{ warn "R2"; return undef })->get("/r2" => {text => "r2" });
app->start;
'
get /r2
这里没有匹配,所以我应该得到404,就像在下一个应用程序中一样:
perl -Mojo -E 'app->start;' get /r2
【问题讨论】:
-
我不太明白你的问题。您的第一个示例仅对两条路线发出警告(正确),但不返回小写内容。那是因为回调需要返回一个真值。摆脱
return undef并执行1以同时查看警告和文本。 -
@simbabque:起初示例命令永远不会返回(这是一个问题)。我返回
undef,因为它们仅限于身份验证用户。喜欢at an example -
@simbabque:所以两条路线都受到限制,没有任何匹配。我应该得到 404 还是一些错误?
-
你应该重定向到登录页面。
-
或者渲染一些消息,-无论如何返回 undef 不会渲染任何东西。
标签: perl mojolicious