繁体   English   中英

Laravel 4.2关于删除的MethodNotAllowedHttpException

[英]Laravel 4.2 MethodNotAllowedHttpException on delete

我是Laravel的新手,所以有一个项目,一个简单的CRUD,但当我尝试删除数据时删除方法不起作用,我真的不知道为什么。 这是错误:

错误:

throw new MethodNotAllowedHttpException($others);

控制器:

public function destroy($id)
{
    $project = Project::find($id);
    if($project->user_id==Auth::id()) {
        $project->delete();
        return Redirect::to('/');
    } else {
        Session::flash('message', 'You can't delete this!');
        return Redirect::to('/');
    }
}

视图:

{{Form::open(array('url' => 'project/destroy/'.$p->id, 'method' => 'DELETE'))}}
    {{Form::submit("Delete", array('class' => 't2tButton text-center'))}}
{{Form::close()}}

路线:

Route::post('/project/destroy/{id}', "ProjectController@destroy");

您有一个POST设置的路由,但不是DELETE

尝试将此添加到您的路线:

Route::delete('/project/destroy/{id}', "ProjectController@destroy");

或者您可以将方法更改为POST并保持路由不变,但为了保持RESTful,最好更改为DELETE

我刚刚想出答案,错误就在路线的这一行:

Route::delete('/project/destroy/{id}', "ProjectController@destroy");

Route方法需要DELETE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM