所以在一个模型的索引中,我有一个关联模型列表。在列表中,我包括删除后链接。
但是,似乎在属于另一个模型的视图中使用delete postlink删除一个模型会引发CSRF错误。
这可能只是Cake的安全组件的工作方式,但有没有办法(不影响安全措施)?
编辑:添加代码。
在视图中发布链接(在本例中为我的练习模型的索引视图):
echo $this->Form->postLink('Delete', array('controller' => 'folders', 'action' => 'delete', $key), array('class' => 'delete', 'confirm' => 'Are you sure? This will also delete all associated exercises.'));
文件夹控制器中的删除操作:
public function delete($id) {
if ($this->request->is('get')) {
throw new MethodNotAllowedException();
}
if ($this->Folder->delete()) {
$this->Session->setFlash('Folder '.$id.' has been deleted.', 'default', array('class' => 'success'));
$this->redirect(array('controller' => 'exercises', 'action' => 'index'));
}
}
答案 0 :(得分:1)
CakePHP安全组件允许您指定允许哪些控制器和/或操作向您的操作发送请求。