• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cakePHPのrouteについて)

cakePHPのrouteについて

このQ&Aのポイント
  • cakePHPのrouteについて説明します。formからsubmitボタンが押されたときの処理方法についても解説します。
  • cakePHPのrouteにおいて、'/'と指定する場合とformからsubmitボタンが押されたときの処理の違いについて説明します。
  • formからsubmitボタンが押されたときに画面を表示させるためには、route.phpの指示に従って処理を実行する必要があります。この場合の対策についても解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kaze2com
  • ベストアンサー率50% (6/12)
回答No.1

なにかいろいろ間違っているような気がします。 > Router::connect('/blog/:action', array('controller' => 'top', 'action' => 'cake', 'home')); これで/blog/viewとしたら、topコントローラのviewアクションが呼ばれますが、意図したとおりですか?引数がhomeなのでしょうか。 $form->submit にもなぞのアクションが指定されてます。普通にsubmitボタンを表示してみては?

rena_mari
質問者

補足

回答ありがとうございます。 > 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を実行するのなら、簡単に行えるのですが。 >なにかいろいろ間違っているような気がします。 どういったところなのでしょうか? 宜しくお願いします。

その他の回答 (1)

  • kaze2com
  • ベストアンサー率50% (6/12)
回答No.2

そうしたら、routeは合ってるのかな。 だとすると、 top_controller.php にaction(view or cake?)がちゃんと書かれていないか、そのテンプレートが無いとか。

rena_mari
質問者

お礼

回答ありがとうございました。 どうやら、bootstrap.phpに、controller、viewのフォルダの指定がなかったことが原因で動作しなかったようです。 ありがとうございました。 今後ともよろしくお願いします。

関連するQ&A