2014-09-12 180 views
3

我是新與Laravel,所以有一個項目,一個簡單的CRUD,但刪除方法不工作時,我試圖刪除的數據,我真的不知道爲什麼。這是錯誤:Laravel 4.2 MethodNotAllowedHttpException上刪除

錯誤:

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}', "[email protected]"); 
+0

確定關於語法PHP引擎不會拋出錯誤?這一個:''你不能刪除這個!' - 你必須用雙引號把這個刺包裹起來''''! – Yang 2014-09-12 17:22:59

+0

好點@bad_boy,或逃避'「''在這樣can't''可以\」 t' – Dan 2014-09-12 17:39:58

回答

5

您有POST路由組而不是DELETE

嘗試增加給你的路線:

Route::delete('/project/destroy/{id}', "[email protected]");

或者你可以你的方法更改爲POST,並保持您的路線是,但要保持它的RESTful它可能是最好改DELETE

+0

沒錯,這就是問題hahahaa我只是貼吧,謝謝反正=)。 – 2014-09-12 17:21:54

+0

@bad_boy他得等待至少15分鐘@Oscar然後接受這個答案 – Yang 2014-09-12 17:23:42

+0

...但請接受一旦時間的推移,如果它幫助...感謝 – Dan 2014-09-12 17:24:15

0

我只是想出了答案,錯誤是在這條線的路線:

Route::delete('/project/destroy/{id}', "[email protected]"); 

路由方法必須DELETE

相關問題