質問: Cakephp3で新しくページを追加したいのですが、 何故か404エラーになってしまい、困っています。 controllerに、public function も追加しましたし、 template ディレクトリ内に ctpファイルもアップしました。 controllerはこんな感じになっていて、 index.ctp AAA.ctp BBB.ctp CCC.ctp というCTPファイルは全て同じtemplate用のディレクトリに入っています。 今回は、既に作ってある、index,AAA,BBB に追加する形で、CCCというページを作りました。 しかし、何故か、このCCCだけが表示されないのです。 どなたか、原因を予想できる方がいらっしゃいましたらご教授お願いします・・・ ``` class XXXController extends AppController { public function XXX(){ 初期読込 } public function index{ } public function AAA{ } public function BBB{ } public function CCC{ } } ``` エラー内容は、こちらです。 Error: [Cake\Controller\Exception\MissingActionException] Action XXXController::CCC() could not be found, or is not accessible. ちなみに、キャッシュは全て削除してからアクセスしました。
回答: エラーだけ読むなら「XXXController」に対応するアクションがないと言っているようですが、CCC.ctpに対応するアクションをコントローラーに本当に追加しているでしょうか? CakePHPでは、基本的にテンプレートファイルとコントローラーのアクションはセットです。 indexアクションならindex.ctp、AAAアクションならAAA.ctpが対応するといった感じです。 CCC.ctpに対応するCCCアクション(function)はちゃんとコントローラーに追加しているでしょうか? 再度ご確認をお願いいたします。 何にせよ、情報が少なすぎるので、コントローラーのソース、アクセスしようとしたURLなども追加で書くべきかと思います。 追記 コントローラーのソース見たら、XXX以外のアクション名の後に()が足りていないようですが、そのせいで上手く動いていないのではないでしょうか?