路由资源更新和删除不能使用除商店 laravel 8 以外的多个角色

如何解决路由资源更新和删除不能使用除商店 laravel 8 以外的多个角色

我想使用路由资源删除我的管理产品。但是当我提交它时,它转到第 404 页,发现与更新方法不同。但我的网址 id 显示出来了。这是销毁方法 @client.command() async def server(ctx): name = str(ctx.guild.name) description = str(ctx.guild.description) owner = str(ctx.guild.owner) id = str(ctx.guild.id) region = str(ctx.guild.region) memberCount = str(ctx.guild.member_count) icon = str(ctx.guild.icon_url) embed = discord.Embed( title=name + " Server Information",description=description,color=discord.Color.blue() )[enter image description here][1] embed.set_thumbnail(url=icon) embed.add_field(name="Owner",value=owner,inline=True) embed.add_field(name="Server ID",value=id,inline=True) embed.add_field(name="Region",value=region,inline=True) embed.add_field(name="Member Count",value=memberCount,inline=True) await ctx.send(embed=embed) 上的网址,但商店工作正常它指向我的网址并存储在数据库中。

这是我在 Admin/ProductController 资源上的 store 方法

http://127.0.0.1:8000/admin/1

这是我的销毁方法 Admin/ProductController 资源

store(Request $request)
    {
        $request['user_id'] = auth()->user()->id;
        Product::create($request->all());
        return redirect()->back();
    }

这是我的表单操作存储方法,此表单工作正常

 public function destroy($id)
    {

        Product::where('id',$id->id)->delete();
        ]);
        return redirect()->back();
    }

这是我的表单操作删除问题是当我提交它时找不到 404 页面

<form method="post" action="{{route('admin.store')}}">
      <input type="text" name="category" class="form-control">
      <button type="submit" class="btn btn-primary">Save changes</button>
  </form>

这是我的网络路由用户和管理员

<form method="post" action="{{route('admin.destroy',$product->id)}}">
       <input type="text" name="category" class="form-control">
       <button type="submit" class="btn btn-primary">Save changes</button>
 </form>

这是我的路线清单

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

        Auth::routes();

   Route::group(['as'=>'user.','prefix'=>'users','namespace'=>'App\Http\Controllers\Users'],function (){
            Route::get('/',[App\Http\Controllers\Users\UsersController::class,'index']);
            Route::resources(['/' => ProductController::class,],['except'=>['index']]);
        }); 
   Route::group(['middleware'=>'admin','as'=>'admin.','prefix'=>'admin','namespace'=>'App\Http\Controllers\Admin'],[App\Http\Controllers\Admin\AdminController::class,'index']);
            Route::resources(['/' => ProductController::class],['except'=>['index']]);
        });

这是我的App\Http\Auth\LoginController

+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+------------+
| Domain | Method    | URI                    | Name             | Action                                                                 | Middleware |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+------------+
|        | GET|HEAD  | /                      |                  | Closure                                                                | web        |
|        | POST      | admin                  | admin.store      | App\Http\Controllers\Admin\ProductController@store                     | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | GET|HEAD  | admin                  | admin.index      | App\Http\Controllers\Admin\ProductController@index                     | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | GET|HEAD  | admin/create           | admin.create     | App\Http\Controllers\Admin\ProductController@create                    | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | DELETE    | admin/{}               | admin.destroy    | App\Http\Controllers\Admin\ProductController@destroy                   | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | PUT|PATCH | admin/{}               | admin.update     | App\Http\Controllers\Admin\ProductController@update                    | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | GET|HEAD  | admin/{}               | admin.show       | App\Http\Controllers\Admin\ProductController@show                      | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | GET|HEAD  | admin/{}/edit          | admin.edit       | App\Http\Controllers\Admin\ProductController@edit                      | web        |
|        |           |                        |                  |                                                                        | admin      |
|        | GET|HEAD  | api/user               |                  | Closure                                                                | api        |
|        |           |                        |                  |                                                                        | auth:api   |
|        | POST      | login                  |                  | App\Http\Controllers\Auth\LoginController@login                        | web        |
|        |           |                        |                  |                                                                        | guest      |
|        | GET|HEAD  | login                  | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web        |
|        |           |                        |                  |                                                                        | guest      |
|        | POST      | logout                 | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web        |
|        | GET|HEAD  | password/confirm       | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm    | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | POST      | password/confirm       |                  | App\Http\Controllers\Auth\ConfirmPasswordController@confirm            | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | POST      | password/email         | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web        |
|        | GET|HEAD  | password/reset         | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web        |
|        | POST      | password/reset         | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web        |
|        | GET|HEAD  | password/reset/{token} | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web        |
|        | GET|HEAD  | register               | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web        |
|        |           |                        |                  |                                                                        | guest      |
|        | POST      | register               |                  | App\Http\Controllers\Auth\RegisterController@register                  | web        |
|        |           |                        |                  |                                                                        | guest      |
|        | GET|HEAD  | users                  | user.            | App\Http\Controllers\Users\UsersController@index                       | web        |
|        | POST      | users                  | user.store       | App\Http\Controllers\Users\ProductController@store                     | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | GET|HEAD  | users/create           | user.create      | App\Http\Controllers\Users\ProductController@create                    | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | DELETE    | users/{}               | user.destroy     | App\Http\Controllers\Users\ProductController@destroy                   | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | GET|HEAD  | users/{}               | user.show        | App\Http\Controllers\Users\ProductController@show                      | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | PUT|PATCH | users/{}               | user.update      | App\Http\Controllers\Users\ProductController@update                    | web        |
|        |           |                        |                  |                                                                        | auth       |
|        | GET|HEAD  | users/{}/edit          | user.edit        | App\Http\Controllers\Users\ProductController@edit                      | web        |
|        |           |                        |                  |                                                                        | auth       |
+--------+-----------+------------------------+------------------+---------------------------------------

这是我的中间件管理员

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
class LoginController extends Controller
{
    use AuthenticatesUsers;
    protected $redirectTo = RouteServiceProvider::HOME;
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
    public function login(Request $request)
    {
        $inputVal = $request->all();

        $this->validate($request,[
            'email' => 'required|email','password' => 'required',]);
        if(auth()->attempt(array('email' => $inputVal['email'],'password' => $inputVal['password']))){
            if (auth()->user()->role == 'admin') {
                return redirect()->route('admin.');
            }else{
                return redirect()->route('user');
            }
        }else{
            return redirect()->route('login')
                ->with('error','Email & Password are incorrect.');
        }
    }
}

我不知道这个商店有什么问题,但更新和销毁不起作用。我猜错误是在路由网络或中间件上。

解决方法

我认为您的问题是您没有告诉您的删除表单使用 DELETE 操作。由于 HTML,您不能使用 action="delete",因此您必须“伪造”它,而 Blade 允许您这样做。

试试这个:

<form method="post" action="{{route('admin.destroy',$product->id)}}">
    @method('DELETE')
    <input type="text" name="category" class="form-control">
    <button type="submit" class="btn btn-primary">Save changes</button>
</form>

有关它的更多信息,请访问 Blade documentation


同样的修复应该适用于您的更新,您应该在更新表单标签后使用 @method('PUT')

,

如果您的方法是 post,那么您还必须添加 csrf

<form method="post" action="{{route('admin.destroy',$product->id)}}">
    {{ method_field('delete') }}
    {{ csrf_field() }}
    <input type="text" name="category" class="form-control">
    <button type="submit" class="btn btn-primary">Save changes</button>
</form>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res