gpt4 book ai didi

php - CakePHP 3 : Missing route error for route that exists

转载 作者:可可西里 更新时间:2023-10-31 22:45:36 24 4
gpt4 key购买 nike

CakePHP 3.0

我收到一条存在的路线的“路线缺失”错误。

这是我的路线:

#my admin routes...
Router::prefix('admin', function($routes) {
$routes->connect('/', ['controller'=>'Screens', 'action'=>'index']);
$routes->connect('/screens', ['controller'=>'Screens', 'action'=>'index']);
$routes->connect('/screens/index', ['controller'=>'Screens', 'action'=>'index']);
//$routes->fallbacks('InflectedRoute');
});

Router::scope('/', function ($routes) {

$routes->connect('/login', ['controller' => 'Pages', 'action' => 'display', 'login']);
$routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']);

$routes->fallbacks('InflectedRoute');
});

Plugin::routes();

基本上我只是将顶部部分(用于管理路由)添加到开箱即用的默认路由。

当我访问 /admin/screens/index 时,我看到以下错误:

enter image description here

注意错误消息说:

Error: A route matching "array ( 'action' => 'add', 'prefix' => 'admin', 'plugin' => NULL, 'controller' => 'Screens', '_ext' => NULL, )" could not be found.

...这很奇怪,因为我没有尝试访问 add 操作。下面打印的参数看起来是正确的。

这是怎么回事?

最佳答案

仔细查看堆栈跟踪,错误不会出现在调度过程中,您似乎认为它是在您的 View 模板中触发的,您可能正在尝试创建指向 add 操作的链接, 并且反向路由找不到匹配的路由,因此出错。

解决方案应该是显而易见的,连接必要的路由,像这样明确的路由

$routes->connect('/screens/add', ['controller' => 'Screens', 'action' => 'add']);

包罗万象

$routes->connect('/screens/:action', ['controller' => 'Screens']);

或者只是捕捉一切的后备

$routes->fallbacks('InflectedRoute');

关于php - CakePHP 3 : Missing route error for route that exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com