【问题标题】:Route [compose-update] not defined. (View: C:\xampp\htdocs\test\news\resources\views\admin\compose\edit.blade.php)路由 [compose-update] 未定义。 (查看:C:\xampp\htdocs\test\news\resources\views\admin\compose\edit.blade.php)
【发布时间】:2021-05-01 09:24:57
【问题描述】:

我只想编辑我的撰写字段表中的所有字段都来找我并更新它但是当我尝试编辑时会发生此错误并且我已经检查了我的代码很长时间但不幸的是我可以找不到要解决的错误请尽快帮忙...

我的 web.php

Route::get('/compose/edit/{id}', ['uses'=>'Admin\ComposeController@edit','as'=>'compose-edit', 'middleware'=> 'permission:All'] );

Route::put('/compose/update/{id}', ['uses'=>'Admin\ComposeController@update','as'=>'update-compose', 'middleware'=> 'permission:All'] );

我的控制器

public function edit($id)
    {
         $page_name = 'Edit Compose';
        $compose = Cpost::find($id);
        return view('admin.compose.edit',compact('page_name','compose'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $this->validate($request,[
          'sms_title'=>'required', 
          'offer_name'=>'required',
          'sms_content'=>'required',
 
      ],[

        'sms_title.required' => "The SMS Title Field is Required",
        'offer_name.required' => "The Offer Name Field is Required",
        'sms_content.required' => "The SMS Content Field is Required",

        ]);


         $compose = Cpost::find($id);
         $compose->sms_title = $request->sms_title;
         $compose->offer_name = $request->offer_name;
         $compose->sms_content = $request->sms_content;
         $compose->languages = $request->languages;
         
         $compose->save();
        return redirect()->action('Admin\ComposeController@index')->with('success','Compose Updated Successfully');
    }

我的blade.php


{{ Form::model($compose,['route' => ['update-compose',$compose->id],'method'=>'put']) }} 
                                 
                                      





                <div class="form-group">
            {{ Form::label('sms_title', 'SMS Title', array('class' => 'control-label mb-1')) }}
                                      
            {{ Form::text('sms_title',null,['class'=>'form-control','id'=>'sms_title'] )  }}
                                </div>


                                <div class="form-group">
            {{ Form::label('offer_name', 'Offer Name', array('class' => 'control-label mb-1')) }}
                                      
            {{ Form::text('offer_name',null,['class'=>'form-control','id'=>'offer_name'] )  }}
                                </div>


                                <div class="form-group">
            {{ Form::label('sms_content', 'SMS Content', array('class' => 'control-label mb-1')) }}
                                      
            {{ Form::textarea('sms_content',null,['class'=>'form-control','id'=>'sms_content'] )  }}
                                </div>


                                <div class="form-group">
            {{ Form::label('languages', 'Languages', array('class' => 'control-label mb-1')) }}
                                      
            {{ Form::text('languages',null,['class'=>'form-control','id'=>'languages'] )  }}
                                </div>



                                
 
                <div>
                    <button id="payment-button" type="submit" class="btn btn-lg btn-info btn-block">
                        <i class="fas fa-sync-alt fa-spin fa-lg"></i>&nbsp;
                        <span id="payment-button-amount">Update</span>
                        <span id="payment-button-sending" style="display:none;">Sending…</span>
                    </button>
                </div>
                                  {{ Form::close() }}
                              </div>
                          </div>

【问题讨论】:

  • 尝试php artisan route:clear

标签: php laravel laravel-8 laravel-5.8


【解决方案1】:

改变你的路线到这里

Route::put('/compose/update/{id}', ['uses'=>'Admin\ComposeController@update','as'=>'compose-update', 'middleware'=> 'permission:All'] );
{{ Form::model($compose,['url' => ['/compose/update/'.$compose->id],'method'=>'put']) }} 

如果您有相同名称或 url 的路线,请检查路线。同时运行这些命令

php artisan cache:clear
php artisan route:clear

【讨论】:

  • 是的,它用于更新,但我也使用 post 进行更新,我只是想看看它是否有效。我听说 HTML 表单不接受 put 作为方法
  • 当我提交时,URL 将是127.0.0.1:8000/back/compose/update/1
  • 在我项目的另一部分我使用了 {{ Form::model($subcategory,['route' => ['update-subcategory',$subcategory->id],'method' =>'put']) }} 它工作正常
  • 用路由的url试试
  • 请问我该怎么办
猜你喜欢
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 2018-09-06
相关资源
最近更新 更多