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(...));がうまくいかなかったようです。最初のコントローラーでは機能しますが、2番目のコントローラーでは機能しません。したがって、routes.phpファイルを次のように変更しました。

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

CakePHPのソースコードを見ると、それらすべてを循環するはずなので、今は機能しているように見えますが、これは奇妙なことです。

于 2012-09-24T22:46:34.837 に答える