- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cakePHPのrouteについて)
cakePHPのrouteについて
このQ&Aのポイント
- cakePHPのrouteについて説明します。formからsubmitボタンが押されたときの処理方法についても解説します。
- cakePHPのrouteにおいて、'/'と指定する場合とformからsubmitボタンが押されたときの処理の違いについて説明します。
- formからsubmitボタンが押されたときに画面を表示させるためには、route.phpの指示に従って処理を実行する必要があります。この場合の対策についても解説します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なにかいろいろ間違っているような気がします。 > Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'cake', 'home')); これで/blog/viewとしたら、topコントローラのviewアクションが呼ばれますが、意図したとおりですか?引数がhomeなのでしょうか。 $form->submit にもなぞのアクションが指定されてます。普通にsubmitボタンを表示してみては?
その他の回答 (1)
- kaze2com
- ベストアンサー率50% (6/12)
回答No.2
そうしたら、routeは合ってるのかな。 だとすると、 top_controller.php にaction(view or cake?)がちゃんと書かれていないか、そのテンプレートが無いとか。
質問者
お礼
回答ありがとうございました。 どうやら、bootstrap.phpに、controller、viewのフォルダの指定がなかったことが原因で動作しなかったようです。 ありがとうございました。 今後ともよろしくお願いします。
補足
回答ありがとうございます。 > Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'view', 'home')); これで/blog/viewとしたら、topコントローラのviewアクションが呼ばれますが、意図したとおりですか? はい。その通りです。 >引数がhomeなのでしょうか。 今は、引数なしで設定しています。 一度のぞいて実行してみました。 >$form->submit にもなぞのアクションが指定されてます。普通にsubmitボタンを表示してみては? 一度、 <form action="<?php echo h($html->url('/blog/cake')) ?>" method="post" style="margin-bottom:1em"> <input type="submit" value="TEST"> </form> に変更して実行してみました。 結果は変わりませんでした。 url('blog/')とすると、blog/index.phpが実行されるのですが、 本来url('blog/cake')とすると、blog_controller.phpのcakeアクションが実行されるのでしょうか? 動作しないので、ためしに ($html->url('/blog/)) 、 Router::connect('/blog/', array('controller' => 'top', 'action' => 'view', 'home')); とした場合、 view.phpが実行されます。 index.phpを実行するのなら、簡単にできるのですが。。 blog/index.phpを実行するのなら、簡単に行えるのですが。 >なにかいろいろ間違っているような気がします。 どういったところなのでしょうか? 宜しくお願いします。