我尝试使用以下代码删除记录:
控制器中的:
public function delete($id = null) {
if (!$this->Modelname->exists($id)) {
throw new NotFoundException(__('Modelname ungültig'));
}
$this->Modelname->id = $id;
$this->request->onlyAllow('post', 'delete');
if ($this->Modelname->delete()) {
$this->Session->setFlash(__('Modelname wurde gelöscht.'));
return $this->redirect(array('controller' => 'modelnames', 'action' => 'index'));
}
$this->Session->setFlash(__('Modelname wurde nicht gelöscht.'));
}
在视图中:
<?= $this->Form->postLink(__('Delete'), array('controller' => 'modelnames', 'action' => 'delete', $id), array('confirm' => 'Soll dieser Eintrag wirklich gelöscht werden?')) ?>
通常这对我有用,但现在只是刷新页面而不做任何事情......有什么想法吗?
答案 0 :(得分:0)
看起来在CakePHP版本上不推荐使用
onlyAllow
方法 你正在经历。
postLink
效果很好,因为它为post方法生成了等效的html。
如果您只需要允许特定请求(发布,删除),您可以执行以下任一操作:
if ($this->request->is('post')) { // if this is a post request
if (!$this->Modelname->exists($id)) {
throw new NotFoundException(__('Modelname ungültig'));
}
$this->Modelname->id = $id;
if ($this->Modelname->delete()) {
$this->Session->setFlash(__('Modelname wurde gelöscht.'));
return $this->redirect(array('controller' => 'modelnames', 'action' => 'index'));
}
$this->Session->setFlash(__('Modelname wurde nicht gelöscht.'));
}
答案 1 :(得分:0)
答案很简单,就像愚蠢......
TL; DR版本:
表格形式....(不工作)
长版:
我有一个巨大的视图页面来处理,在桌子周围有一种小型包装机,我在调试那些东西时没有认识到..(简单选择表格行 - 用它们做东西)
在这个表中我们必须推送额外的占位符数据,可以在特定时间删除..通过蛋糕postLink删除(生成一个表单)没有工作,你知道..你知道故事的其余部分
抱歉浪费你的时间,但感谢您的快速帮助尝试!并感谢&#34; onlyAllow&#34; tipp:)