blackhole cakephp 2个相关实体

时间:2012-10-11 10:55:15

标签: cakephp security

我的目标: 重复使用联系表格与我称之为“父母”的几个不同实体相关,即集团有联系信息,会员有联系信息等.... 我尝试这样做的方式是: 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动作请求时,我得到了黑洞,令牌被搞砸了!!! 有任何想法吗? 提前致谢 奥利

1 个答案:

答案 0 :(得分:1)

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

对于SecurityComponent,我建议(至少作为临时修复)通过在控制器的$this->Security->unlockedActions();

中使用beforeFilter()来禁用SecurityComponent以执行该特定操作