[解決済み] Laravel 5.7 Error message " Symfony ♪ Component ♪ HttpKernel ♪ Exception ♪ MethodNotAllowedHttpException No message".
2022-02-16 13:36:07
質問
私の目標は、基本的にadmin_usersテーブルのユーザーを更新して、そのロールを変更することです。
これがエラーです。
Symfony ⇄ Component ⇄ HttpKernel ⇄ Exception ⇄ MethodNotAllowedHttpException No message 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();
}
}
これは、モデルAdmin_users.phpです。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Admin_users extends Model
{
protected $guarded=[];
//public function admin_users(){
// }
}
これはブレードテンプレートadmin_users.blade.phpです。
@extends('layouts.app_dashboard')
@section('content')
<div class="col-md-12">
<div class="margin-top card strpied-tabled-with-hover">
<div class="card-header ">
<h4 class="card-title">Invo Admin Users</h4>
<p class="card-category">Click to edit each user</p>
<a href="{{ route('register') }}" class="btn btn-primary margin-top">
Add New User
</a>
</div>
<div class="card-body table-full-width table-responsive">
<table class="table table-hover table-striped">
<thead>
<tr><th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Password </th>
<th>User Access</th>
</tr></thead>
<tbody>
@foreach ($admin_users as $user)
@if(session()->has('message'))
<div class="alert alert-success">
{{session()->get('message')}}
</div>
@endif
<form method="POST" action="{{route('admin_users.update', $user->id)}}">
@csrf
@method('put')
<tr>
<td>{{$user->id}}</td>
<td>{{$user->name}}</td>
<td>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="{{$user->email}}">
</td>
<input type="file" class="custom-file-input" value="" placeholder="{{$user->email}}">
<td>*********</td>
<td>
<select class="selectpicker">
@if(Auth::id() == $user->id)
<option selected value="{{$user->user_type}}">{{$user->user_type}}</option>
<option value="user">user</option>
@else
<option selected value="{{$user->user_type}}">{{$user->user_type}}</option>
<div role="separator" class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Change User Type to</a>
@if($user->user_type == 'admin')
<option value="user">user</option>
@else
<option value="admin">admin</option>
@endif
@endif
</select>
</td>
<td>
<button type="submit" class="btn btn-primary">
Update
</button>
</td>
</tr>
</form>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
解決方法は?
明確なコメントができないのですが、それは
put
メソッドをルーティングに通しているのですか?)
Route::put($uri, $callback);
は、こちらのドキュメントから。
https://laravel.com/docs/5.7/routing
だから、私はその答えがあると信じています。
Route::put('/admin_users', 'AdminUController@admin_users')->name('admin_users.update');
Put
は、私が大量に使うメソッドではないので、純粋にLaravelでの経験からの話です。
put
のリクエストに対応するため、間違った方向に進んでいたらごめんなさい :)
関連
-
[解決済み] [Solved] Fatal error: メンバ関数bind_param()のbooleanに対する呼び出し [重複] [重複
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】空の配列要素を削除する
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】mysqli_result クラスのオブジェクトを文字列に変換できない
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み] 入力ファイルが指定されていない
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] PHP 未定義関数への呼び出し