3

我的目标:重复使用与我称之为“父母”的几个不同实体相关的联系表,即组有联系信息,成员有联系信息等......我尝试这样做的方式是: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 的内容复制到“父级”添加文件中,我都会得到相同的 HTML 结果。然而!!!当我使用 form.ctp Action Request 时,我得到了黑洞,令牌被搞砸了!!!有任何想法吗?提前感谢奥利

4

1 回答 1

1

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

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

于 2013-01-22T21:16:07.087 回答