Perl 如何将公共路径转发到另一个Catalyst控制器?

Perl 如何将公共路径转发到另一个Catalyst控制器?,perl,catalyst,Perl,Catalyst,假设公共URL/faq链接到my Catalyst应用程序中的私有路径/faq/索引: package MyApp::Controller:FAQ; sub index :Path { [....] 如何从另一个控制器转发到/faq,即如何知道URL/faq的操作是/faq/index?比如: $c->forward(c->dispatcher->get_action_by_path( "/faq" )); # does not work 我得到了Catalyst邮件列表的

假设公共URL/faq链接到my Catalyst应用程序中的私有路径/faq/索引:

package MyApp::Controller:FAQ;
sub index :Path {
[....]
如何从另一个控制器转发到/faq,即如何知道URL/faq的操作是/faq/index?比如:

$c->forward(c->dispatcher->get_action_by_path( "/faq" )); # does not work

我得到了Catalyst邮件列表的答案:

my $path = "/" . join '/', @{$c->req->args};

$c->request->path($path);
$c->dispatcher->prepare_action($c);

$c->detach($c->action, $c->req->args);