php Laravel:[路线:区域更新]

deyfvvtc  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(124)

我在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]) }}">

但这并没有改变什么。
任何帮助都将不胜感激。谢谢你的预付款

xtfmy6hx

xtfmy6hx1#

Laravel资源是区分大小写的,我想......所以,我们需要像在资源名称中那样用大写来命名参数转换器。

public function edit(Region $Region);

public function update(Request $request, Region $Region);

相关问题