perl – 如何引入正则表达式操作以匹配Catalyst URI中的第一个元
背景:
我在Catalyst中使用CRUD框架,为给定数据库中的所有表自动生成表单和列表.例如: 题: 在我正在构建的特定应用程序中,数据库将由多个客户使用,因此我想引入一个URI方案,其中第一个元素是客户的标识符,后跟管理操作/表等: > / cust1 / admin / list / person 这是出于“品牌化”的目的,也是为了确保从一个用户传递到另一个用户的书签或URL能够完成预期的工作. 但是我在使用它时遇到了很多麻烦.我宁愿不必修改现有框架中的subs,所以我一直在尝试以下变体: sub customer : Regex('^(w+)/(admin)$') { my ($self,$c,@args) = @_; #validation of captured arg snipped.. my $path = join('/','admin',@args); $c->request->path($path); $c->dispatcher->prepare_action($c); $c->forward($c->action,$c->req->args); } 但它不会表现出来.我已多次使用正则表达式匹配操作,但将一个放在URI的第一个“桶”中似乎异常创伤.任何建议都感激不尽. 解决方法
进行客户操作:链接,然后将管理操作链接到该操作.例如:
sub customer :Chained('/') :PathPart('') :CaptureArgs(1) { # load current customer into the stash } sub admin :Chained('customer') :PathPart('admin') :Args(0) { } 有关更多信息,请参阅Catalyst::DispatchType::Chained (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |