laravel-blade - 缺少路由所需的参数?
问题描述
首先我想说我的英语不太好,这是我第一次在这里发帖,如果我做错了什么,请原谅!好吧,我开始使用 Laravel 练习,我正在尝试为用户创建一个可以喜欢帖子的 url。我的 url 和控制器现在是Route::post('/post/{post}/like', [LikeController::class, 'postLike'])->name('post.like');
这里 post 是我试图通过我的表单操作属性传递的帖子。这是我的表格:
@props(['post'])
<div {{ $attributes->merge(['class' => 'card-footer d-flex justify-content-around']) }}>
<form action= "{{ route('post.like' , $post) }}" method="post" >
@csrf
<button>submit</button>
</form>
</div>
post 道具其实就是帖子的id!我将它作为这个组件的参数传递,如下所示::post="$post->id" i have also tried with associative array without it be necessary if u have only one parameter to pass, but still didnt work!
{{ route('post.like' , ['post'=>$post]) }}``` 如果你想知道 id 是否实际上没有传递给组件,我试过 {{ dd($post) }} 并打印了它。我的控制器就是这个,它现在实际上并没有做任何事情。我只是想传递 id:
class LikeController extends Controller
{
public function postLike(Post $post) {
dd($post);
}
}
毕竟我得到了错误:[Route: post.like] [URI: post/{post}/like] [Missing parameter: post] 缺少必需的参数。(查看:blog\resources\views\components\post\interaction.blade.php)
我有两天的时间来找到问题,我仍在尝试这一刻我正在发送这个....我找不到错误在哪里!如果你能帮助我,我将不胜感激!提前TY
解决方案
在 web.php 中试试这个,看看路由模型绑定到那个时候是否运行良好
Route::post('/post/{post}/like', function($post){
dd($post);
})->name('post.like');
推荐阅读
- javascript - 我收到 TypeError:无法读取未定义的属性“402”,它来自哪里?
- android - 更新地图标记位置 onLocationChanged() 不起作用
- java - 从 Callable 的 Call() 返回列表
- javascript - 我应该在哪里声明在 useEffect() 挂钩中调用的函数?
- reactjs - 我是否需要对功能性反应组件中的功能道具使用 useCallback 挂钩以避免差异?
- ruby - 如何修复在 Windows 上需要“ibm_db”gem 的错误
- jenkins - 任何用于 SAP Hybris 应用程序开发自动化的开源工具?
- c# - 使用泛型 IProcess
需要 1 个类型参数 - 如何返回通用接口? - android - 如何将位置发送到 Firestore 并根据距离获取位置?
- git - 将 gitlab CI/CD 预定义变量作为参数传递给 Qt 中的 .pri 文件