我正在使用 cakephp 2.3.0。我要做的是让用户单击一个链接(以图像的形式),并且该用户操作将从该用户的数据库中删除一些数据。
在我看来,我有这个代码片段,它实际上是表格中的一列。对于“删除”这个词,我希望它是一个图像(使用 $this->Html->image()),但 cakephp 抱怨这一点。根据 API,该参数只能是字符串。
$this->Form->postLink(
'delete',
array('action' => 'deleteActivity', $myActivity['Activity']['id']),
array('confirm' => 'Are you sure?')),
这是我正在尝试的控制器中的功能:
public function deleteActivity($id) {
if ($this->Post->delete($id)) {
$this->Session->setFlash('The activity with id: ' . $id . ' has been deleted.');
$this->redirect(array('action' => 'landingPage'));
}
}
我收到以下错误。似乎用 post 包装表单标签是行不通的。在 CakePHP 中,我正在尝试做的最佳实践方式是什么?
致命错误
错误:在非对象上调用成员函数 delete()
这是生成的 HTML:
<td><form action="/activities/index.php/activities/deleteActivity/4" name="post_515496f40ca77" id="post_515496f40ca77" style="display:none;" method="post"> <input type="hidden" name="_method" value="POST"/></form><a href="#" onclick="if (confirm('Are you sure?')) { document.post_515496f40ca77.submit(); } event.returnValue = false; return false;">delete</a></td>