Ruka Xing
Ruka Xing

Reputation: 642

Laravel 5.7 update section, No Message error

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException No message

View

<form method="POST" action="{{ route('products.update',[$product->id]) }}">
{{csrf_field()}}
     <select class="form-control" name="type">
      ...
     </select>
</form>

Model

    protected $fillable = [
    'id',
    'request_register',
    'request_number', 
    'request_companyname',
    'request_filename', 
    'request_description', 
    'created_worker', 
    'deposit_number', 
    'deposit_cost', 
    'type', 
    'type_user',
];

Controler

public function update(Request $request, $id){
    $product = Product::findOrFail($id);
    $product->update($request->all());
    return redirect()->route('products.index');
}

Route

Route::group(['middleware' => 'auth'], function () {
   Route::resource('products', 'ProductController');
});

Upvotes: 0

Views: 419

Answers (1)

Adam Rodriguez
Adam Rodriguez

Reputation: 1856

You need to spoof the method in your form:

<form method="POST" action="{{ route('products.update',[$product->id]) }}">
    <input type="hidden" name="_method" value="PUT">
    {{csrf_field()}}
    <select class="form-control" name="type">
    ...
   </select>
</form>

Upvotes: 2

Related Questions