- 締切済み
CakePHPのFormHelperについて
先日から、CakePHPを下記のサイトを利用しながら勉強し始めた。 しかし、Form Helperの所でつまずいてしまい、アドバイスを頂きたく質問させて頂きました。 ディレクトリの構成ですが、 MacでMAMPを使用していて、「htdocs」の中に「cake」というフォルダーを作成し、 その中に「app」、「lib」、「plugins」といったcakephpのファイルやフォルダをおいています。 まず、http://libro.tuyano.com/index3?id=743002のレッスンで <form method="post" action="./form" name="form1"> の箇所でエラーが出て <form method="post" action="./sample/form" name="form1"> と修正しエラーを解決しました。 次にhttp://libro.tuyano.com/index3?id=743002&page=3のレッスンで 「samples」というテーブルがないとエラーが出たので「samples」というテーブルを作成しエラーを解決しました。 (レッスンにはテーブル作成に関しては何も書かれていなかったのですが…) つまずいてしまっているレッスンは、http://libro.tuyano.com/index3?id=743002&page=4です。 レッスン通り、作成すると Error: SamplesController could not be found. Error: Create the class SamplesController below in file: app/Controller/SamplesController.php の2つのエラーがでます。 index.ctpの$this->Form->create(null,array('type'=>'post','action'=>'.'));で 自分自身に飛ばすようになっていると思うのですがデバックしたページのソースをみると <form action="/cake/samples/." id="SampleForm" method="post" accept-charset="utf-8"> と「samples」と見覚えないフォルダーに飛んでいます。この箇所が問題ではと考えています。 色々と試してみたのですが、分からず困っています。 アドバイスよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
リンク先のサンプルを試したわけではないのですが……。以前、CakePHP 1.3あたりの頃に、actionの指定を相対アドレスにした場合、そのページヘのアクセスで最後のスラッシュを省略すると生成されるアドレスが1階層ずれる、という現象に遭遇うしたことがあります。 つまり、こういうことです。 http://localhost/cake/sample/ ←OK http://localhost/cake/sample ←ダメ リンク先の記事は2.0のようなので違うかも知れませんが……。相対アドレスがクサイ気がします。とりあえず、action'=>'.'ではなくて、アクション名(action'=>'index'とか)を指定してみてはどうでしょうか。