Laravel 6 404 Not found but route exists

Viewed 28

Getting 404 Not found though route exists, the following codes worked perfectly on Laravel 8 but on 6 produces 404.

Route:

// Content Packs
Route::delete('content-packs/destroy', 'ContentPacksController@massDestroy')->name('content-packs.massDestroy');
Route::patch('content-packs/{content-pack}/clone_pack', 'ContentPacksController@clone_pack')->name('content-packs.clone_pack');
Route::resource('content-packs', 'ContentPacksController');

Button:

<form action="{{ route('admin.content-packs.clone_pack', $contentPack->id) }}" method="POST" onsubmit="return confirm('{{ trans('cruds.contentPack.clone_confirmation') }}');" style="display: inline-block;">
   <input type="hidden" name="_method" value="PATCH">
   <input type="hidden" name="_token" value="{{ csrf_token() }}">
   <input type="submit" class="btn btn-xs btn-warning" value="{{ trans('cruds.contentPack.clone') }}">
</form>

Controller method:

public function clone_pack(Request $request, ContentPack $contentPack)
{
    $contentPack = ContentPack::where('id', $request->id)->first();
    $newPack = $contentPack->replicate();
    $newPack->created_at = Carbon::now();
    $newPack->save();

    return back();
}

What am I missing?

1 Answers

Changing route to this fixed the issue:

Route::get('content-packs/content-pack/{id}', 'ContentPacksController@clone_pack')->name('content-packs.clone_pack');
Related