我在Laravel上遇到了一个问题,我一步一步地跟着Bootcamp走,很好,非常清楚我完全完成了它,
我面临的麻烦,当我试图重现它对我自己的一个项目,一切都很酷,直到我试图实现“编辑”的一部分,见:https://bootcamp.laravel.com/blade/editing-chirps
我得到这个错误:Missing required parameter for [Route: Region.update]
我一直在寻找一些时间,但没有找到任何适合我的,这里是代码:
控制器:
public function edit(Region $region)
{
return view('regions.edit', [
'region' => $region,
]);
}
public function index()
{
$regions = Region::all();
return view('regions.index', [
'regions' => $regions,
]);
}
public function update(Request $request, Region $region)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
]);
$region->update($validated);
return redirect(route('Region.index'));
}
索引视图,我在其中传递数据:
<x-dropdown-link :href="route('Region.edit', $region)">
<img src={{url("build/img/edit.png")}} width="40">
</x-dropdown-link>
编辑视图特别是在发生问题的地方。
<form method="POST" action="{{ route('Region.update', $region) }}">
Web路由文件
Route::resource('Region',RegionController::class)
->only(['index', 'create', 'store', 'edit', 'update'])
->middleware(['auth', 'verified']);
当我单击索引视图中的链接时,我被重定向到正确的链接:http://localhost/Region/5/edit(5是标识符的示例)。
但是标题中的错误出现了。
我试过了,因为我在这里读到:
<form method="POST" action="{{ route('Region.update', ['Region' => $region]) }}">
但这并没有改变什么。
任何帮助都将不胜感激。谢谢你的预付款
1条答案
按热度按时间xtfmy6hx1#
Laravel资源是区分大小写的,我想......所以,我们需要像在资源名称中那样用大写来命名参数转换器。