Routing 路由器作用域弄乱了url生成器

Routing 路由器作用域弄乱了url生成器,routing,cakephp-3.0,Routing,Cakephp 3.0,在我的应用程序中,我为API调用定义了一个范围 Router::scope('/api',函数(RouteBuilder$routes){ $routes->setExtensions(['json']); $routes->resources(‘发票’); }); 我想从同一控制器方法提供/api/invoices和/invoices 在我的default.ctp布局中,我有以下链接 每当遇到路由问题时,请使用routes shell:bin/cake routes检查连接的路由顺序。它还将

在我的应用程序中,我为API调用定义了一个范围

Router::scope('/api',函数(RouteBuilder$routes){
$routes->setExtensions(['json']);
$routes->resources(‘发票’);
});
我想从同一控制器方法提供
/api/invoices
/invoices

在我的
default.ctp
布局中,我有以下链接


每当遇到路由问题时,请使用routes shell:
bin/cake routes
检查连接的路由顺序。它还将向您显示生成特定URL必须提供哪些参数以及可以使用哪些名称。也就是说,您最好在这里使用前缀,因为在生成URL时不能显式地以作用域为目标。@ndm但如果我使用前缀,就必须创建一个专用控制器,对吗?是的。例如,如果您担心代码重复,该控制器当然可以扩展基本控制器。当然还有其他方法来处理这个问题,比如命名路由,或者自定义路由参数。在不了解所有其他路线和应用程序的情况下,很难说出解决此问题的最佳方法。