Perl Dancer2 中 URL 数据丢失时如何继续清空模板

问题描述 投票:0回答:1

我的 Dancer 应用程序中有这条路线:

get '/newplayer/:name/:team/:season' => sub {
,其调用方式如下:
https://website.com/newplayer/Joe Smith/Tigers/Fall 2024
,并从 url 收集数据并将其放入模板 newplayer.tt 中的表单中,以便当用户到达页面时此信息已经大部分填满了。

效果很好,但我正在寻找一种方法,以便在没有路径的情况下仍然可以找到路线 url 上提供的值,这样如果用户转到

https://website.com/newplayer
他们仍然到达该页面,尽管表单是空的,而不是出现 404 错误。有谁知道我该怎么做?

perl cgi dancer2
1个回答
0
投票

您可以使用

forward
。使用 megasplat
**
而不是
/:name/:team/:season
也可以使其适用于部分信息(例如
/newplayer/Joe Smith
)。

get '/newplayer' => sub {
    forward '/newplayer///'
};

get '/newplayer/**' => sub {
    my @params = splat();
    my ($name, $team, $season) = @{ $params[0] };
    template('newplayer', {name => $name, team => $team, season => $season})
};
© www.soinside.com 2019 - 2024. All rights reserved.