2

我所做的是使用 Library::locate 来查找控制器,并根据白名单属性对它们调用 Router::match。我还有一个许多模型使用的共享控制器,我在带有白名单的模型上使用定位。这是一种工作,但我在尝试反向路由并获得“未找到参数匹配”异常时遇到了麻烦。比如下面的例子。所以如果你对大的没有一个好的答案,你知道为什么这个路由匹配失败吗?

Router::connect(
    '/api/3/vouchers/{:id}/{:action:(handout|generate|give)}',
    array('http:method' => 'POST', 'controller' => 'Vouchers', 'type' => 'json')
);

$result = Router::match(array(
    'controller'=>'Vouchers',
    'action'=>'generate',
    'id' => '{:id}', // *
    'http:method' => 'POST',
    'type'=>'json'
));

*:我使用 {:id} 作为 id 值的原因是我希望显示路线,而不是创建链接。

4

0 回答 0