リソースコントローラーを使用していません。
ルート:
Route::delete('/deleteTag/{tag}','Controller2@deleteTag');
コントローラー機能:
public function deleteTag(Tag $tag){
$Tag = Tag::where('id', $tag->id)->get()->first();
$Tag->delete();
return redirect()->action('Controller2@main');
}
呼び出し:
<form method="delete" action="http://***/public/deleteTag/{{$tag->id}}">
{!! Form::token() !!}
<button type="submit">delete</button>
</form>
プログラムはMethodNotAllowedHttpExceptionを返します。
ありがとうございました。
これを試すことができます(非表示の_method
入力に注意してください):
<form method="post" action="http://***/public/deleteTag/{{$tag->id}}">
{!! Form::token() !!}
<input type="hidden" name="_method" value="DELETE">
<button type="submit">delete</button>
</form>
チェック フォームメソッドのなりすまし 。
Laravelの最新バージョンでは、次の形式でcsrf
およびmethod
のブレードディレクティブを使用できます。
<form method="post" action="...">
@csrf
@method('DELETE')
<button type="submit">delete</button>
</form>