モデルを使わないコントローラを使って、入力フォームを作っている場合。
ビューにて、
echo $form->create(null, array('type'=>'get','action'=>'login')); |
とした上で、フォーム部品を、
echo $form->text('userid', array('size'=>40)); |
とすると、実際に出力されるこの部分のHTMLは、
<table border=0 bgcolor=lightcyan cellpadding=4><tr><td><input name="" type="text" size="40" value="" id="dataUserid" /> |
となる。
name属性が空っぽになっている。これは問題。
$form->create() の第一引数に null じゃなくて、たとえば "Data" とか指定すると、今度は Submit した際に、「Dataモデルがないよ」と怒られてしまう。
モデル関係なしでやりたいんだが…
これは、フォーム部品の記述を、次のようにすることで解決できた。
echo $form->text('data.userid', array('size'=>40)); |
text メソッドの第一引数を、"data.userid" にしている。
これで、一応値は渡せるようになった。
コントローラ側では、$this->params['url']['userid'] としてアクセスできる。