无法让CakePHP的REST与Backbone一起工作(或根本没有)

时间:2012-09-24 15:52:00

标签: cakephp rest backbone.js

我正在尝试使用基于骨干的前端来使用我的CakePHP应用程序。

我在 routes.php (以及其他一些路线)中有以下内容

Router::mapResources(array('rooms', 'comments'));
Router::parseExtensions();

现在使用像GET /rooms/XX.json这样的东西很好,到目前为止一切都很好。我试图使用Backbone来删除评论。在我的应用程序引导程序中,我有以下内容:

Backbone.emulateHTTP = true;

因为我知道PHP与REST不太合适。因此,X-HTTP-Method-Override根据请求设置为DELETE。尽管我随后POST /comments/160.jsonX-HTTP-Method-Override DELETE我得到以下回复:

{
    "code":"404",
    "url":"\/comments\/160.json","name":"Action CommentsController::view() could not be found."
}

无法找到CommentsController :: view()

对于我的生活,我不能让它发挥作用。

1 个答案:

答案 0 :(得分:0)

似乎使用Router::mapResources(array(...));无效。它适用于第一个控制器,但不适用于第二个控制器。因此,我已将 routes.php 文件更改为使用:

...
Router::mapResources('rooms');
Router::mapResources('comments');
...

现在似乎工作,这很奇怪,因为看CakePHP source code它应该循环遍历所有这些。