使用Cake 2.x我试图将RESTful流量路由到我的Users控制器到我的UserManagement插件。
我的路线如下:
// re-redirect root traffic to login
Router::connect('/', array('plugin'=>'UserManagement','controller' => 'Users', 'action' => 'login'));
CakePlugin::routes();
Router::mapResources(['users']);
Router::parseExtensions();
我也尝试过:
Router::mapResources(['UserManagement']);
当我调用这个非常好的网址时,我收到以下错误:
users/1.json
{
"code": 404,
"name": "Action UsersController::51() could not be found.",
"message": "Action UsersController::51() could not be found.",
"url": "\/users\/51.json"
}
提前致谢。
答案 0 :(得分:1)
遵循CakePHP约定优于配置方法,您可以使用插件语法指定插件,就像在其他地方一样,即插入插件名称并将其与控制器名称中的点分开
Router::mapResources('UserManagement.Users');
这当然也要求您在请求URL中使用插件名称,即
/user_management/users/51.json
而不仅仅是
/users/51.json
如果您想使用后者,但仍然连接到插件,那么您可以尝试prefix
选项技巧,即提供默认值/
,阻止路由器使用插件名称作为前缀(不要与实际prefix routing混淆。)
Router::mapResources('UserManagement.Users', array(
'prefix' => '/'
));
另见