0

我正在尝试让基于主干的前端与我的 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.json,但X-HTTP-Method-Override DELETE我得到了以下回复:

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

找不到 CommentsController::view()

为了我的一生,我无法让它发挥作用。

4

1 回答 1

0

似乎使用Router::mapResources(array(...));不起作用。它适用于第一个控制器,但不适用于第二个控制器。因此,我更改了我的routes.php文件以使用:

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

它现在似乎正在工作,这很奇怪,因为查看CakePHP 源代码它应该循环浏览所有这些源代码。

于 2012-09-24T22:46:34.837 回答