Reputation: 1600
I have this route:
Route::resource('riskfields', RiskfieldsController::class)->except('show');
Within the RiskfieldController/edit
I'm calling the edit view as:
public function edit(Riskfield $riskField)
{
return view('riskfields.edit', [
'riskField' => $riskField
]);
}
where Riskfield
is the model.
So, inside edit.blade.php
I have:
{{ Form::open(['route' => ['riskfields.update', $riskField->id], 'method' => 'put', 'autocomplete' => 'off']) }}
when I access to this endpoint: /admin/riskfields/1/edit
I get:
Missing required parameter for [Route: riskfields.update] [URI: admin/riskfields/{riskfield}] [Missing parameter: riskfield]. (View: /var/www/html/resources/views/riskfields/edit.blade.php)
The problem's that I have inject the model, so I don't know what's happening there.
This is the update method:
public function update(Riskfield $riskField, Request $request): RedirectResponse
Someone could help?
UPDATE:
dd ouput:
Upvotes: 1
Views: 65
Reputation: 1600
This problem stopped me for half an hour, but I hope my answer will help someone. Essentially I have to change this:
public function edit(Riskfield $riskField)
into:
public function edit(Riskfield $riskfield)
The parameter must have the same name convention defined within the route, so I've executed php artisan route:list
and it was admin/riskfields/{riskfield}
Hope to help someone.
Upvotes: 1