我想要两种特殊的方法:
- 适用于所有 URL 的一种
- 仅针对特定路径 ( /admin )运行的路径
我认为最通用的是 using begin
,而/admin的方法将使用auto
. 例如,在这两个 Catalyst 控制器中:
package MyApp::Controller::Root;
sub begin :Private {
my ($self, $c) = @_;
$c->log->debug('Run for all URLs');
}
[...]
package MyApp::Controller::Admin;
sub auto :Private {
my ($self, $c) = @_;
$c->log->debug('Run for /admin only');
}
但这并没有达到我想要的。什么是正确的解决方案?
编辑:问题是Addmin::auto()
永远不会被调用,而不是当我访问/admin或/admin/
经过更多的测试,auto
永远不会被调用。我试过把 auto 放在不同的地方,它从来没有被调用过。