在我基于 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>
</ul>
在我的项目中,我有另一个名为 create.blade.php
的 Blade ,它位于以下路径中
views/cms/home/create.blade.php
我有一个名为 CmsHomeController.php
的 Controller ,用于该 Blade
在 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”的参数..
最佳答案
当您在资源路由中使用点 (.)
运算符时,它将生成嵌套路由。
您需要使用单个名称更改您的路线名称,例如 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/