« 緩む春 | Main | CakePHP のエラーハンドリングではまる »

March 23, 2009

CakePHP $form->create() で URL を制御する

データの編集を行う場合に $form->create() で url を array で指定すると /controller/action/id とモデルの key が付加されてしまう。大人の事情で action の次に id じゃないパラメータを入れたい場合に困っちゃう。

$form->create(
    モデル名,
    array(
        'controller' => コントローラ名,
        'action' => アクション名,
        'id' => null,
        パラメータ1,
        パラメータ2
    )
);
のように 'id' => null を指定すると回避することができた。

|
|

« 緩む春 | Main | CakePHP のエラーハンドリングではまる »

Comments

正しい記述方法は下記

$form->create(
 モデル名,
 array(
  'controller' => コントローラ名,
  'action' => アクション名,
  'url' => array(
   'id' => null,
   'param1' => '256',
   'param2' => '512',
  ),
 )
);

Posted by: 通りすがり | April 03, 2009 at 09:17 PM

Router::url() の説明には「standard URL arguments (indexed array elements)」とあるので元記事で正しいはずです。

Posted by: qma | April 04, 2009 at 12:41 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/31696/44443494

Listed below are links to weblogs that reference CakePHP $form->create() で URL を制御する:

« 緩む春 | Main | CakePHP のエラーハンドリングではまる »