在基于laravel的应用程序中,我的admin.blade.php
中具有以下链接
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="{{ route('cms.home.create') }}" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>{{ __('Home Page') }}</p>
</a>
</li>
在我的项目中,我还有另一个名为
create.blade.php
的 Blade ,它位于以下路径中views/cms/home/create.blade.php
我有一个名为 Blade 的
CmsHomeController.php
Controller 在CmsHomeController中,我有一个名为create的方法
public function create()
{
return view('cms.home.create');
}
一旦用户单击
admin.blade.php
中的上述链接,用户应转到create.blade.php
Blade 。在我的
web.php
中,我的路线注册如下:Route::resource('cms.home','CmsHomeController');
但是现在的问题是
当我在管理 Blade 中单击该链接时,出现错误提示
Facade\Ignition\Exceptions\ViewException
Missing required parameters for [Route: cms.home.create] [URI: cms/{cm}/home/create]. (View: C:\xampp\htdocs\mylaravelproject\resources\views\layouts\admin.blade.php)
在
create.blade.php
中,我只有一个简单的表格我在哪里做错了,正确的解决方法是什么?
更新:
我尝试运行
php artisan route:list
这就是我得到的
我没有称为“cm”的参数。
最佳答案
当您在资源路由中使用dot (.)
运算符时,它将生成嵌套路由。
您需要使用单个名称更改路线名称,例如 cms-home 或 cms_home
然后,您可以简单地将其用作:
Route::resource('cms_home','CmsHomeController');
在 Blade 中,您可以称其为:
<a href="{{ route('cms-home.create') }}" class="nav-link">
请看看这个referance
关于php - laravel中缺少路线发布所需的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61403062/