perl - 如何将公共(public)路径转发到另一个 Catalyst Controller ?

标签 perl catalyst

假设公共(public) URL/faq 链接到我的 Catalyst 应用程序中的私有(private)路径/faq/index:

package MyApp::Controller:FAQ;
sub index :Path {
[....]

我怎样才能从另一个 Controller 转发到/faq,也就是说我怎么知道 URL/faq 的 Action 是/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);

关于perl - 如何将公共(public)路径转发到另一个 Catalyst Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990608/

相关文章:

perl - 使用 Perl 玩转 Unicode

perl - 请帮助执行基本的 Perl 代码

perl - Param 导致 Catalyst 出现 "does not map to Unicode"错误

perl - 在使用模板工具包的 Catalyst 项目中显示 DBIx::Class ResultSet 的正确方法是什么?

perl - 为什么 curl POST 请求会使我的 Catalyst::Controller::REST Controller 崩溃?

perl - 使用 Win32::API 调用 OpenComPort

database - Catalyst 中的 DBIx::Class 升级(DBIx::Class::Schema::Loader)

mysql - Perl:是否可以在没有安装 Mysql 的情况下安装 Mysql 模块?

perl - 一个文件中有多个 Perl 包?

html - Net::Twitter::Lite 的特殊字符