在基于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

这就是我得到的

php - laravel中缺少路线发布所需的参数-LMLPHP

我没有称为“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/

10-13 04:46