2012-10-11 156 views
3

我的目标: 重复使用与多个不同实体相关的联系表我称之为“家长”即集团有联系信息,会员有联系信息等等...... 我试过的方式它是: 1.为联系人创建一个视图文件,名为“form.ctp”,它不创建新的表单,也不提交,只是回显联系人的字段。 2.使用requestAction调用此文件 我的问题: 窗体的_Token被粉碎。blackhole cakephp 2相关实体

父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'=>'[email protected]','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的节点复制到“Parent's”添加文件中,我会得到相同的HTML结果。尽管如此,当我使用form.ctp Action Request时,我得到了黑洞,令牌被搞乱了! 任何想法? 在此先感谢 Orly

+0

您正在使用什么版本的蛋糕在$this->Security->unlockedActions();? –

回答

1

如果您的问题仅仅是重复使用表单,您可以使用表单作为元素,然后可以多次调用它,用您需要的确切值代替。

至于SecurityComponent,我会建议(至少作为一个临时的解决办法)禁用SecurityComponent为具体行动,通过使用控制器的beforeFilter()