cakeで以下のように新テーブルを作成し、新しくmvcを追加しました。
cakephp2
テーブル名
test_fruits
コントローラー
TestFruitController.php <?php App::uses('AdminAppController', 'Controller'); class TestFruitController extends AdminAppController { public function index() { $this->set('test','これはテストです'); } }
モデル
TestFruit.php <?php App::uses('AppModel', 'Model'); class TestFruit extends AppModel { }
ビュー
TestFruit/index.php <?php echo var_dump($test);
としています。しかし、
Missing Method in AdminController Error: The action test_fruit is not defined in controller AdminController Error: Create AdminController::test_fruit() in file: app\Controller\AdminController.php.
と怒られます。何が間違っていますか?
追記
ご教授いただいた通り、ルートを見つけ追記してみました。
route.php
Router::connect('/test_fruit', array('controller' => 'TestFruit', 'action' => 'index')); Router::connect('/test_fruit/:action', array('controller' => 'TestFruit'));
としたところ、
Missing View Error: The view for TestFruitController::index() was not found. Confirm you have created the file: TestFruit\index.ctp in one of the following paths: .........
というエラーが出ました。おかしいですね...ちゃんと書いたつもりなんですが。
再追記
ビューに
$this->render('/TestFruit/index');
と入力したところ繋がりました。(正規の手順。。。?なのか)
なぜこれで繋がったんですか?