重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

先日から、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」と見覚えないフォルダーに飛んでいます。この箇所が問題ではと考えています。

色々と試してみたのですが、分からず困っています。
アドバイスよろしくお願いします。

A 回答 (1件)

リンク先のサンプルを試したわけではないのですが……。

以前、CakePHP 1.3あたりの頃に、actionの指定を相対アドレスにした場合、そのページヘのアクセスで最後のスラッシュを省略すると生成されるアドレスが1階層ずれる、という現象に遭遇うしたことがあります。

つまり、こういうことです。

http://localhost/cake/sample/ ←OK
http://localhost/cake/sample ←ダメ

リンク先の記事は2.0のようなので違うかも知れませんが……。相対アドレスがクサイ気がします。とりあえず、action'=>'.'ではなくて、アクション名(action'=>'index'とか)を指定してみてはどうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!