【问题标题】:Missing required parameters for [Route: projects.edit] [URI: projects/{project}/edit] Laravel 6.3[Route: projects.edit] [URI: projects/{project}/edit] Laravel 6.3 缺少必需的参数
【发布时间】:2020-07-16 14:18:15
【问题描述】:

这个错误阻碍了我前进的道路。有没有人可以解决缺少所需参数错误?我有一个非常简单的 CRUD 设置,它在控制器的“编辑”方法中引发了这个错误。当请求被转发到编辑视图时会发生这种情况。

错误:

```Facade\Ignition\Exceptions\ViewException
Missing required parameters for [Route: projects.edit] [URI: 
projects/{project}/edit]. (View: 
T:\estie\resources\views\frontend\layouts\homeapp.blade.php)```

路线定义为:

```Route::resource('projects','ProjectsController');```

控制器编辑方法:

```public function edit(Project $project)
    {
        return view('projects.edit')  ->with('project',$project);    
    }```

这是我的 index.blade.php 的一部分,它扩展了 homeapp.blade.php:

<td align="center">
       <a href="{{ route('projects.edit', ['project' => $project]) }}">EDIT</a>
</td>

感谢您的帮助。

【问题讨论】:

  • 视图中项目变量的值是多少??它似乎为空。

标签: laravel-6


【解决方案1】:

当您尝试使用route 函数而不提供必需参数的情况下获取路由的 URL 时会引发此错误。

在您的homeapp.blade.php 中查找route('projects.edit') 调用并将项目添加为参数:route('projects.edit', ['project' =&gt; $project])

【讨论】:

  • 感谢 nXu。我的 index.blade.php 扩展了 homeapp.blade.php。我已经更新了帖子中的 URL 路由。和你说的一样。
  • 我从@Juan Olivera 的回复中得到了解决方法。他建议的解决方案是在路由定义'/projects/{project?}/edit'中使参数可选。不确定这是否被推荐。直到我得到一个更好的,这似乎是一种解决方法。相关帖子为:stackoverflow.com/questions/59472170/…
猜你喜欢
  • 2019-10-01
  • 2020-12-08
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 2021-06-09
  • 2021-03-08
相关资源
最近更新 更多