几乎完全遵循Cake Book的例子。
Router::mapResources('incidentReports');
Router::parseExtensions('json');
之前
require CAKE . 'Config' . DS . 'routes.php';
我的控制器名为IncidentReportsController
class IncidentReportsController extends AppController {
其中包含函数
index()
view($id)
add()
edit($id)
delete($id)
转到网址
www.myurl.com/incidentReports.json
按预期将请求发送到index()函数。
转到网址
www.myurl.com/incidentReports/260.json
应该映射到view()函数,但是试图映射到不存在的260()函数。
www.myurl.com/incidentReports/view/260.json
映射到view()函数并正常工作。但是,我的理解是URL中的“视图”不应该是必要的。
答案 0 :(得分:3)
有同样的问题。在我的情况下,我可以通过更改URL中的控制器名称来修复它。
无效:http://www.example.com/entityName.json
工作正常:http://www.example.com/entity_name.json
答案 1 :(得分:0)
根据documentation,你已经做好了一切,所以我不确定。尝试在你的路线中放置这个(应该启用的路线)。
Router::resourceMap(array(
array('action' => 'index', 'method' => 'GET', 'id' => false),
array('action' => 'view', 'method' => 'GET', 'id' => true),
array('action' => 'add', 'method' => 'POST', 'id' => false),
array('action' => 'edit', 'method' => 'PUT', 'id' => true),
array('action' => 'delete', 'method' => 'DELETE', 'id' => true),
array('action' => 'update', 'method' => 'POST', 'id' => true)
));
答案 2 :(得分:0)
如果你的控制器在一个插件中,你也必须指定..
e.g: 路由器:: mapResources(' Plugin.Controller&#39);