【发布时间】:2018-06-20 10:14:35
【问题描述】:
我做了 3 个表,分别是 Roles、Users 和 Blogs。角色与具有role_id 外键的Users 具有一对多关系,同样,Users 与具有user_id 外键的Blogs 具有一对多关系。我最初烘焙了所有 3 个用户,一切都很好。然后我决定尝试为Roles 加上前缀admin。
Router::prefix('admin', function ($routes) {
$routes->connect('/roles', ['controller' => 'Roles', 'action' => 'index]
)};
我在Controller 文件夹(控制器> 管理员)中创建了一个文件夹,并将我的RolesController 放在那里。我将RolesController 的命名空间更改为namespace App\Controller\Admin。我还调整了我的Roles View 文件的文件位置,方法是将其放入管理文件夹(Admin > Roles > add.ctp、edit.ctp、index.ctp、view.ctp)。
每次我尝试访问 localhost:8765/admin/roles 时,都会收到一条错误消息:
错误:路由匹配“数组('action' => 'add', 'prefix' => 'admin', 'plugin' => NULL, 'controller' => 'Roles', '_ext' => NULL, )" 找不到。当前连接的路由均不匹配提供的参数。在 config/routes.php 中添加匹配的路由
传递的上下文是:
[ '_base' => '', '_port' => (int) 8765, '_scheme' => 'http', '_host' => 'localhost', 'params' => [ 'pass' => [], 'controller' => 'Roles', 'action' => 'index', 'prefix' => 'admin', 'plugin' => null, '_matchedRoute' => '/admin/roles', '_ext' => null ]
我对 cakephp 还很陌生,有人可以帮我解决这个问题吗?任何建议将不胜感激。
【问题讨论】:
-
每当收到错误时,请始终发布complete错误,即包括full堆栈跟踪 (最好从日志中以正确可读的方式复制)!另外,请务必提及您的 确切 CakePHP 版本(
vendor/cakephp/cakephp/VERSION.txt或lib/Cake/VERSION.txt中的最后一行) - 谢谢!话虽如此,很可能是这样的:stackoverflow.com/questions/29782797/… -
非常感谢,并会注意“发布完整错误”:)
标签: cakephp url-routing cakephp-3.x