3

レコードを削除するために、次のような関数を作成しました。

echo $this->Form->postLink('<i class="icon-trash icon-white"></i>', 
array('action' => 'delete',$distance['Distance']['id'], 'Distance'), 
array('confirm' => 'Are you sure?', 'class' => 'btn btn-danger', 'escape' => false));

2 つのパラメーターを渡して、コントローラーで関数 delete を呼び出す必要があります。

しかし、Chrome コンソールでこのタイプのエラーが発生します。

Cakephp オブジェクト # にはメソッド 'submit' がありません

以前は機能していましたが、削除ボタンが機能する場合と機能しない場合があります。

コントローラーコードは次のとおりです。

public function delete($id, $model) {

         $this->loadModel($model);
         $this->Session->setFlash($id +" " + $model);

        if ($this->request->is('get')) {
            throw new MethodNotAllowedException();
        }

        if ($this->$model->delete($id)) {
            $this->Session->setFlash('The item has been deleted');
            if($model == "Project" || $model == "Car"){
                 $this->redirect(array('action' => 'preferences'));
            }else{
                $this->redirect(array('action' => $model.'s'));
            }

        }
       }
4

1 に答える 1