質問: cakephp2.9.5を使用しています。 フォームヘルパーを使用してformを作成しているのですが、 htmlのactionにどうしてもモデル名が入ってしまいます。 cookbook(リンク内容)を見ると、以下のように記述されています。 > > $model に対して false を渡すこともできます。こうすると、 フォームデータは( $this->request->data['Model'] サブ配列 の中ではなく) $this->request->data 配列の中に格納されます。 これは、データベースの中身とは関係ないちょっとしたフォームを 作る時に便利です。 > > > おそらくこれをやればいいのでしょうが、以下のように記述しても、 しっかりモデル名が入ってしまいます。 ``` Form->create(false,array('url'=>'shipping')); ?> ``` モデル名を入れず、 /コントローラー名/アクション名 のように出力させるには、どのように書いたらよろしいでしょうか。 よろしくお願いいたします。 出力したいactionタグは以下の通りです。 コントローラー名:OrderHeader アクション名:shipping (一応)モデル名:OrderHeader ``` ~/cakephp/OrderHeader/shipping ``` これが現在のところ、上記PHPスクリプトを記述した状態で、以下のように出力されています。 ``` ~/cakephp/order_header/shipping ``` よろしくお願いいたします。
回答: > > ~/cakephp/order_header/shipping > > > このURLのorder_headerはモデルではなくコントローラを意味していますよ。 URLは小文字とアンダースコアを用いるというのが規約になっているため自動的に変換されます。 なお、order_headerもOrderHeaderでもCakephp的には同じコントローラを指します。 参考:CakePHP の規約 コントローラ名と URL