Laravel 8 - 表单操作重定向到 404 页面

Laravel 8 - Form action redirect to 404 page

当我想从表单发送一些数据时出现错误 (404 - NOT FOUND),我多次检查控制器、路由和视图。


PostController.php

   public function changeStatus(Post $id){
            $status_update=new Post;
            $status_update->findOrFail($id)->status->get();
            if ($status_update ==1){
                $status_update->update(['status'=>0]);
                session::flash('message', 'It has been updated');
                return back();
    
            }elseif ($status_update->status==0){
                $status_update->update(['status'=>1]);
                return back();
    
            }
      return back();
        }

Route:web.php

 Route::middleware('role:admin')->group(function (){
        Route::PATCH('supervisor/{$id}/update',[PostController::class,'changeStatus'])->name('admin.posts.changeStatus');
    });

风景

<form method="post" action="{{route("admin.posts.changeStatus",$post->id)}}">

   @method('PATCH')
   @csrf
  @if($post->status==1)
  <button type="submit" value="0" class="btn btn-gold">change status to reject  </button>

@else 

 <button type="submit" value="1" class="btn btn-primary">change the status to approve
 </button>

   @endif
    </form>

我已经解决了@lagbox 的问题。谢谢@lagbox。 以及路线中显示的我的问题的解决方案:web.php.

route parameters don't have $ in their name ... supervisor/{id}/update