私の目標:連絡先フォームを再利用して、「親」と呼ぶいくつかの異なるエンティティに関連付けます。つまり、グループには連絡先情報があり、メンバーには連絡先情報があります....私が試した方法は次のとおりです。新しいフォームを作成せず、送信もせず、連絡先のフィールドをエコーするだけの「form.ctp」という名前の連絡先。2. requestAction を使用してこのファイルを呼び出す 私の問題: フォームの _Token が崩れます。
親 add.ctp の例
<?php echo $this->Form->create('Group');?>
<fieldset>
echo $this->Form->input($field_prefix.'contact_id',array('type'=>'hidden'));
<?php echo $this->requestAction(array('controller' => 'contacts', 'action' => 'form'), array('named' => array('index'=>'0','parent'=>'Group',
'fields'=>array(
'email'=>array('value'=>'xx@yy.com','hidden'=>1)
))));
私が持っているform.ctpの中に:
//Associated Model
echo $this->Form->input('Contact.0.city',array('type'=>'hidden'));
echo $this->Form->input('Contact.0.postcode');
echo $this->Form->input('Contact.0.phone');
echo $this->Form->input('Contact.0.cellphone');
echo $this->Form->input('Contact.0.email',array('value'=>""));
echo $this->Form->input('Contact.0.id',array('type'=>'hidden'));
?>
生成された HTML ソース コードを見ると、request アクションを使用するか、form.ctp の内容を「親の」追加ファイルにコピーするだけで、同じ HTML 結果が得られることがわかります。でも!!!form.ctp アクション リクエストを使用すると、ブラックホールが発生し、トークンが台無しになります!!! 何か案は?前もって感謝します