このチュートリアル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() {
}
}
私が間違っていることを誰かが知っていますか?どんな助けでも大歓迎です!