1

このチュートリアルhttp://book.cakephp.org/2.0/en/development/rest.htmlに従って、CakePHP アプリケーションで REST を起動して実行しています。

routes.php ファイルに以下を追加しました。

Router::mapResources(array('fantasyPicks', 'fantasyPlayers'));
Router::parseExtensions();

各コントローラーに RequestHandler コンポーネントを含め、 beforeFilter() コールバックで setContent を json にしました。次のようになります。

class FantasyPicksController extends AppController {
public $components = array('RequestHandler');

public function beforeFilter() {
    parent::beforeFilter();
    $this->RequestHandler->setContent('json','text/x-json');
    $this->layout = 'json/default';
}

public function index() {
    $fantasyPicks = $this->FantasyPick->find('all');
    $this->set('json', $fantasyPicks);
    $this->render('/json/data');
}
...

私の json/data ビューは単に json_encode をエコーし​​ます:

<?php echo json_encode($json); ?>

このすべての後、/fantasyPicks/view/1 への移動は期待どおりに機能します。ただし、/fantasyPicks/1 で次のエラーが表示されます。

Missing Method in FantasyPicksController
Error: The action 1 is not defined in controller FantasyPicksController

Error: Create FantasyPicksController::1() in file: app\Controller\FantasyPicksController.php.

<?php
class FantasyPicksController extends AppController {

    public function 1() {

    }

}

私が間違っていることを誰かが知っていますか?どんな助けでも大歓迎です!

4

1 に答える 1

1

ページにアクセスするときは、適切なコントローラーの命名規則を使用する必要があります。

http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html

URL に関する考慮事項のセクションを参照してください。したがって、/fantasy_picks/1 に移動する必要があり、適切に機能します。

于 2012-04-30T03:51:45.347 に答える