Php Laravel 5.7错误信息“;Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息“;

Php Laravel 5.7错误信息“;Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息“;,php,laravel,Php,Laravel,我一整天都在犯这个错误,似乎无法纠正它。我的目标基本上是更新admin_users表中的一个用户,以便更改他们的卷 这就是错误所在 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息Laravel 5.7 Web.php Route::get('/dashboard', 'DashboardController@dashboard'); Route::post('/admin_users', 'Admin

我一整天都在犯这个错误,似乎无法纠正它。我的目标基本上是更新admin_users表中的一个用户,以便更改他们的卷

这就是错误所在

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息Laravel 5.7

Web.php

Route::get('/dashboard', 'DashboardController@dashboard');
Route::post('/admin_users', 'AdminUController@admin_users')->name('admin_users.update');
Route::get('/admin_users', 'AdminUController@admin_users')->name('admin_users');
这是控制器AdminUController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post;
use Mail;
use Session;
use Gate;
use App\Admin_users;

class AdminUController extends Controller
{

    public function admin_users(){

        if(!Gate::allows('isUser')){
            if(!Gate::allows('isAdmin')){
                abort(404,"Sorry, There is nothing to see here!");
            }
       }

        // data from users table to be passed to the view
        $admin_users = Admin_users::all();

         $title = 'Earn, Invest, Save, and Learn with the Invo App';
         return view('admin_users', ['admin_users' => $admin_users])->with('title',$title);
     }

     public function update(Request $request, Admin_users $admin_users){
        $admin_users->email = $request->email;
        $admin_users->user_type = $request->user_type;
        $admin_users->save();
        session()->flash('User account has been updated!');
        return redirect()->back();
     }
}

我无法评论澄清,但这不是因为您需要允许
put
方法通过路由吗?:)

Route::put($uri,$callback)

从这里的文档:

因此,我认为答案是:

Route::put('/admin_users','AdminUController@admin_users')->name('admin_users.update')


Put
并不是一种我使用了大量的方法,尽管如此,我纯粹是根据我与Laravel的经验而不是使用
Put
请求他们自己,如果我走错了路,我深表歉意:)

我无法评论澄清,但这不是因为你需要允许
Put
方法通过吗路线?:)

Route::put($uri,$callback)

从这里的文档:

因此,我认为答案是:

Route::put('/admin_users','AdminUController@admin_users')->name('admin_users.update')


Put
并不是一种我使用了大量的方法,尽管如此,我纯粹是根据我对Laravel的经验,而不是使用
Put
请求他们自己。如果我走错了路,我深表歉意:)

您出现此错误的主要原因是您将表单设置为使用
补丁提交方法,您已经设置了查找
PUT
方法的路线

您还可以将路线设置为:

Route::match(['put', 'patch'], '/admin_users/update/{id}','AdminController@update');
或者,您可以使用
php-artisan-make:controller-AdminUController--resource

Laravel资源路由使用一行代码将典型的“CRUD”路由分配给控制器。例如,您可能希望创建一个控制器来处理admin_用户的所有HTTP请求

然后,您的资源路线将类似于:

Route::resource('admin_users', 'AdminController');

出现此错误的主要原因是,您将表单设置为使用
补丁
方法提交,并且已将路径设置为查找
放置
方法

您还可以将路线设置为:

Route::match(['put', 'patch'], '/admin_users/update/{id}','AdminController@update');
或者,您可以使用
php-artisan-make:controller-AdminUController--resource

Laravel资源路由使用一行代码将典型的“CRUD”路由分配给控制器。例如,您可能希望创建一个控制器来处理admin_用户的所有HTTP请求

然后,您的资源路线将类似于:

Route::resource('admin_users', 'AdminController');

你的权利这是有效的,但它不会向数据库中添加任何内容。好的,我知道出了什么问题。。这是非常基本的,我试图在tr和td之间添加一个表单元素,但它只能添加到td内部。你的权利这是可行的,但它不会向数据库添加任何内容。好的,我知道有什么问题。。它非常基本,我试图在tr和td之间添加一个form元素,而它只能添加到td内部。