2017-10-15 182 views
0

我是laravel的業餘愛好者。我使用laravel 5.4。所以我想讓進程刪除沒有表單綁定,但我有這樣的錯誤消息。請告訴我如何解決這個問題。laravel 5.4 RouteCollection.php中的MethodNotAllowedHttpException(第251行)

路線:

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

我的表格:

<td><button type="button" class="btn"><a href="{{URL::to('coba/test/'.$post->id.'/edit') }}" >Edit</a></button><button type="button" class="btn"><a href="{{ action('[email protected]', $post['id']) }}" method="post" >Hapus</a></button>{{ csrf_field() }}{{ method_field('DELETE') }} 
    </td> 

我的控制器:

public function destroy($id) 
{ 
    $post = Post::find($id); 
    $post->delete(); 
    return redirect()->to('coba/test');` 
} 
+0

orang印度尼西亞ke ni ??順便說一句,不是'{{URL :: to('coba/test /'.$ post-> id。'/ edit')}}','kenape tak guna'{{route('routename',[ 「路由::刪除('test/{id}','TestController @ destroy('test id ='id',$ post-> id])}}'.... ' ') - > name('routename')' –

+0

Html對一個錨點html元素會導致一個GET調用,但是你的路由需要一個Delete調用。您有一些方法可以確保您會導致刪除電話。 –

+0

Iya :) @SyamsoulAzrien .. sudah saya coba cuman masih sama error nya – Atmojo211

回答

0

HREF錨HTML元素將導致GET呼叫,但你的路線期待刪除呼叫。您有一些方法可以確保您會導致刪除電話。

最常見的方法之一是使用表單來將數據發佈到您的服務器。

刪除

{{ Form::open(['url' => 'test/'.$post->id, 'method' => 'DELETE']) }} 
    {{ Form::button('delete', ['type' => 'submit', 
           'class' => 'btn']) }} 
    {{ Form::close() }} 

編輯

{{ Form::open(['url' => 'coba/test/'.$post->id.'/edit', 'method' => 'POST']) }} 
    {{ Form::button('delete', ['type' => 'submit', 
           'class' => 'btn']) }} 
    {{ Form::close() }} 

最佳做法,我建議使用{{ Form::open(...) }} {{ Form::close() }}只有一次,重構你的控制器代碼,以便它可以讀取的按鈕值和翻譯在相應的帖子ID,所以你沒有你的代碼中有多個HTML表單。

+0

感謝它的工作..它比我以前使用的非常瞭解。謝謝 – Atmojo211

相關問題