我无法解决Laravel中的“方法不允许异常”

我无法解决Laravel中的“方法不允许异常”,laravel,routing,Laravel,Routing,方法不允许异常如下所示,此路由不支持POST方法。支持的方法:GET、HEAD、PUT、PATCH、DELETE <div class="container"> <div class="row justify-content-center"> <div class="col-md-12"> <div class="card"> <div class="card-h

方法不允许异常如下所示,此路由不支持POST方法。支持的方法:GET、HEAD、PUT、PATCH、DELETE

<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header card-header-success">
                    <h4>Account Registration Form</h4>
                </div>
                    <form method="POST" action="{{ route('accounts.store')}}" enctype="multipart/form-data" id="commentForm">
                        @csrf
                        <!-- Codes -->
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
```

```Route::get('/', function () {
    return view('home');
});

Route::resource("accounts", "AccountController");
Route::get('/accounts', 'AccountController@create');
Route::post('/accounts', 'AccountController@create');
```
重写这条路线

Route::get('/accounts', 'AccountController@create')->name('accounts.create');

not post

在routes/web.php中仅定义一次路由

删除以下行:

Route::get('/accounts', 'AccountController@create');
Route::post('/accounts', 'AccountController@create');
如果将控制器方法匹配到,则accounts.store路由中提供了资源路由定义


确保您的AccountController还包含一个名为store的函数,这是因为您重写了路由。如果您需要在资源下面运行路由,则需要为它们指定相同的路由名称,如下所示 路线::post'/账户','AccountController@create'->命名“accounts.store”;
或者,如果您想使用资源路由,您需要将其放在路由下方,以避免覆盖其名称和URL

,这样您就可以只保留路由::resourceaccounts,AccountController-您可以在文档中查看此答案,如果此答案有用,请接受它以帮助他人
Route::get('/accounts', 'AccountController@create');
Route::post('/accounts', 'AccountController@create');