第一个postLink()不创建表单

use*_*303 2 php post cakephp

使用已经烘焙到CRUD中的代码,我有以下代码用于删除项目:

<?php echo $this->Form->postLink(__('Delete'), array('controller'=>'attachments', 'action' => 'delete', $attachment['Attachment']['id']), null, __('Are you sure you want to delete "%s?"', $attachment['Attachment']['name'])); ?>
Run Code Online (Sandbox Code Playgroud)

问题是它包含在一个FORM标签中,因此最终发生的事情是Cake不包含postLink将提交的表单.

还有另一种方法仍然适用于Cake的基础设施的完整性,即使我增加了安全设置,它也能正常工作吗?可能需要是/ attachment/delete/id的链接,但烘焙由于某种原因选择创建一个表单并发布它而不是创建链接,所以我认为有一个原因,如果是这样我想坚持原因.

mar*_*ark 6

您可能没有阅读doc块中有关此方法的警告(http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#FormHelper::postLink)

此方法创建一个<form>元素.所以不要在现有表单中使用此方法.相反,您应该使用添加提交按钮FormHelper::submit()

所以不要这样做.您需要写入缓冲区并稍后输出(请参阅此关闭的PR).