Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Método POST não é compatível com a rota series

The POST method is not supported for route series/1. Supported methods: GET, HEAD, PUT, PATCH, DELETE.

Acima está o erro acusado, conferir as rotas, o formulário e o controller. Estão todos configurados de forma correta, porém o erro continua.

#index
<x-layout title="Séries">  
    <a href={{ route('series.create')}} class="btn btn-dark mb-2" >Adicionar</a>

    <ul class="list-group">    
            @foreach ($series as $serie) 
                <li class="list-group-item d-flex justify-content-between align-items-center">
                    {{ $serie->nome }}
                    
                    <form action="{{route('series.destroy', $serie->id)}}" method="post">
                        @csrf
                        @method('DELETE')
                        <button class="btn btn-danger btn-sm">
                            X
                        </button>
                </form>
                </li>        
            @endforeach
    </ul>
</x-layout>


#controller
    public function destroy(Request $request)
    {
        Serie::destroy($request->series);

        return to_route('series.index');
    }
    
#route
Route::resource('/series', SeriesController::class)
    ->only(['index', 'create', 'store', 'destroy']);
1 resposta
solução!

E aí, beleza?

O erro tá dizendo que o método POST não é suportado para a rota series/1 e os métodos suportados são apenas GET, HEAD, PUT, PATCH e DELETE.

O formulário de exclusão está configurado para o método POST:

<form action="{{route('series.destroy', $serie->id)}}" method="post">
    @csrf
    @method('DELETE')
    <button class="btn btn-danger btn-sm">
        X
    </button>
</form>

e olhando no controller, você tem um método destroy que espera um Request, mas parece que está tentando destruir com base no series do Request, não no id. Talvez você precise ajustar o controller assim:

public function destroy($id)
{
    Serie::destroy($id);

    return redirect()->route('series.index');
}

Isso deve resolver o problema. Tenta aí e me fala se deu certo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software