我的 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 错误。有谁知道我该怎么做?
您可以使用
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})
};