我的目标: 重复使用联系表格与我称之为“父母”的几个不同实体相关,即集团有联系信息,会员有联系信息等.... 我尝试这样做的方式是: 1.为联系人创建一个视图文件,名为“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源代码,我看到无论是使用请求操作还是仅将form.ctp的contect复制到“Parent's”添加文件中,我都会得到相同的HTML结果。 然而!!!当我使用form.ctp动作请求时,我得到了黑洞,令牌被搞砸了!!! 有任何想法吗? 提前致谢 奥利
答案 0 :(得分:1)
如果您的问题只是重复使用表单,您可以将表单用作元素,然后您可以多次调用它,替换为您需要的确切值。
对于SecurityComponent,我建议(至少作为临时修复)通过在控制器的$this->Security->unlockedActions();
beforeFilter()
来禁用SecurityComponent以执行该特定操作