Php Laravel 5.7错误信息“;Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息“;
我一整天都在犯这个错误,似乎无法纠正它。我的目标基本上是更新admin_users表中的一个用户,以便更改他们的卷 这就是错误所在 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException无消息Laravel 5.7 Web.phpPhp 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
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内部。