我的問題是基於下面的代碼:不正確的形式方法
<?php echo $this->Form->create(
'Page', array(
'url' => array(
'controller' => 'pages',
'action' => 'delete',
$this->request->data['Page']['id'],
'admin' => true
),
'id' => 'PageDeleteForm',
'method' => 'POST',
'class' => 'hide'
)
); ?>
<?php echo $this->Form->end() ?>
CakePHP所產生的結果是:
<form action="/admin/pages/delete/16" id="PageDeleteForm" method="post" class="hide" accept-charset="utf-8">
<div style="display:none;">
<input type="hidden" name="_method" value="PUT">
</div>
</form>
因爲我的刪除方法的返回值:方法不允許,並且該寄存器不被刪除。
的問題,謎
所以,問題是:爲默認,CakePHP的創建形式方法=> POST,並設置與POST的輸入了。但在我的情況,它的設置PUT。爲什麼?
操作:
/**
* admin_delete method
*
* @throws NotFoundException
* @param string $id
* @return void
*/
public function admin_delete($id = null) {
$this->Page->id = $id;
if (!$this->Page->exists()) {
throw new NotFoundException(__('Página inválida'));
}
$this->request->onlyAllow('post', 'delete');
$page = $this->Page->getById($id);
爲什麼CakePHP的重寫我的指令('method' => 'POST'
)和更改PUT?
對不起,我的英語。
是的,抱歉。我現在用'method'=>'POST'來測試。並不起作用。 –