Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException,删除按钮

时间:2014-11-10 21:18:54

标签: php jquery symfony laravel datatable

我有一个罕见的问题,我正在使用 Laravel 4 和php,我在jQuery datatable中有一个“删除”按钮m删除注册表,当我按下按钮(在除第一个之外的任何其他数据中)调用tipos.destoy方法并且工作正常!但是当我按下第一个删除按钮时,它会抛出异常:

  

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException。

路线:

Route::resource('tipos', 'TiposController');

控制器:

public function destroy($id)
    {
        $this->tipo->find($id)->delete();
        return Redirect::route('tipos.index');
    }

型号:

protected $guarded = array();

protected $table = 'tipos';

protected $fillable = array('clave_tipo', 'nombre_tipo', 'created_by', 'updated_by');

public static $rules = array(
    'clave_tipo' => 'required',
    'nombre_tipo' => 'required',
    'created_by' => 'required',
    'updated_by' => 'required'
);

查看:

@foreach($tipos as $tipo)
    <tr>
        <td>{{{ $tipo->clave_tipo }}}</td>
        <td>{{{ $tipo->nombre_tipo }}}</td>
        <td>{{ link_to_route('tipos.edit', 'EDITAR', array($tipo->id), array('class' => 'btn btn-success')) }}</td>
        <td>
            {{ Form::open(array('method' => 'DELETE', 'route' => array('tipos.destroy', $tipo->id))) }}
            {{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
            {{ Form::close() }}
        </td>
    </tr>
@endforeach

我不知道为什么它适用于所有其他按钮,但只有第一个按钮才会抛出异常。 任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我只是添加了另一种形式:

<td>
    <form method="POST" action="http://localhost/posm/public/tipos/" accept-charset="UTF-8"><input name="_method" type="hidden" value="DELETE"><input name="_token" type="hidden" value="zrWDtdGVRnzreYGnZizSHqeIo7jPQlXBlGP03iJW">
    </form>
    {{ Form::open(array('method' => 'DELETE', 'route' => array('tipos.destroy', $tipo->id))) }}
    {{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
    {{ Form::close() }}
</td>

我不清楚为什么我必须这样做,我认为这是一个laravel或其他的错误,但它的确有效,谢谢!