首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误“该路由不支持补丁方法。支持的方法有: GET,HEAD,POST。”更新方法

错误“该路由不支持补丁方法。支持的方法有: GET,HEAD,POST。”更新方法
EN

Stack Overflow用户
提问于 2020-05-30 07:02:35
回答 1查看 918关注 0票数 0

您好,我正在尝试更新我的表格助理的注册表,但是当我按下表单的提交按钮时,会出现这个错误,我正在助手和事件之间使用表格透视,但我只是试图编辑一个助手。This is the error

这是我的代码AssistantController.php文件和编辑和更新方法

edit and update methods

代码语言:javascript
复制
 public function edit(Assistant $assistant)
{   
    #obtain id assistant
    $assistant_id = $assistant->id;
    #get data event of the assistant to pass to the form
    $event = Assistant::find($assistant_id)->events()->get();
    return view('assistants.edit',compact('assistant','event'));
}


public function update(Request $request, Assistant $assistant)
{   
    #updating
    $assistant->update($request->all());        
    //$assistants->user()->associate(Auth::user());
    //
    #obtain id assistant
    $assistant_id = $assistant->id;
    #get data event of the assistant to pass to the form
    $event = Assistant::find($assistant_id)->events()->get();
    return redirect('assistants.index',compact('assistant','event'));
}

这是我给助理input form assistants的表格

代码语言:javascript
复制
@csrf
<div class="form-group">
    <label for="id">Document:</label>
    <small class="text-muted">Required(*)</small>                                                                
    <input type="number" class="form-control form-control-sm "  value="{{ old('id') ?? $assistant->id }}" name="id" autofocus>    
    <div>{{ $errors->first('id') }}</div>
</div>
<div class="form-group">
    <label for="name">Name:</label>
    <small class="text-muted">Required(*)</small>                              
    <input type="text" class="form-control form-control-sm "  value="{{ old('name') ?? $assistant->name }}" name="name" placeholder="First Name assistant">                                    
    <div>{{ $errors->first('name') }}</div>
</div>
<div class="form-group">
    <label for="last_name">Last name:</label>
    <small class="text-muted">Required(*)</small>                                  
    <input type="text" class="form-control form-control-sm "  value="{{ old('last_name') ?? $assistant->last_name }}" name="last_name" placeholder="Last name assistant">
    <div>{{ $errors->first('last_name') }}</div>
</div>
<div class="form-group">
    <label for="phone">Phone:</label>
    <small class="text-muted">Required(*)</small>
    <input type="number" class="form-control form-control-sm " value="{{ old('phone') ?? $assistant->phone }}" name="phone">
    <div>{{ $errors->first('phone') }}</div>
</div>
<div class="form-group">                                                         
    <label for="email">Email:</label>
    <small class="text-muted">Required(*)</small>
    <input type="mail" class="form-control form-control-sm " value="{{ old('email') ?? $assistant->email }}" name="email">
    <div>{{ $errors->first('email') }}</div>
</div>
<div class="form-group">                                        
    <label for="observations">Observations:</label>
    <input type="text" class="form-control form-control-sm " value="{{ old('observations') ?? $assistant->observations }}"name="observations">
    <div>{{ $errors->first('observations') }}</div>
</div>

这是我的编辑页面

代码语言:javascript
复制
   @extends('layouts.back')

@section('title','Edit assistants')

@section('content')
<div class="container p-4">
    <div class="row">
        <div class="card">
            <div class="card-header">
                <div class="card-title">
                <h3>Edit details to assistant:</h3><br>
                <h4><strong> {{$assistant->name}} {{$assistant->last_name}}</strong> </h4>
                </div>
            </div>
            <div class="card-body">
                <form action="/assistants" method="POST">
                    @method('PATCH')
                    @include('assistants.form')                    
                    <button type="submit" class="btn btn-primary">Update</button>
                    <a href="{{@route('assistants.index',[id=>$event[0]])}}" class="btn btn-danger">Cancel</a>            
                </form>
            </div>
            <div class="card-footer">
            </div>            
        </div>
    </div>

</div>   
@endsection

这是我的路线routes

代码语言:javascript
复制
 Auth::routes();

Route::get('/', 'HomeController@index')->name('home');

Route::resource('events', 'EventController');
Route::resource('assistants', 'AssistantController');
Route::resource('certificates', 'CertificateController');
Route::resource('signers', 'SignerController');

我是初学者。

谢谢你们所有人。

EN

回答 1

Stack Overflow用户

发布于 2021-05-19 01:52:37

在编辑页面中,将表单操作从

代码语言:javascript
复制
<form action="/assistants" method="POST">

代码语言:javascript
复制
<form action="/assistants/{{ $assistant->id }}" method="POST">

如果操作字段中没有助理id,Laravel会认为您正在尝试更新基本助理路由,这对该路由是无效的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62095787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档