php - Laravel 8 中的 put 方法没有任何更新
问题描述
我目前正在 Laravel 8 中创建一个简单的待办事项列表,并希望能够更新列表中的项目。我的代码没有出现任何错误,但当我按下提交按钮时也没有任何变化。
index.blade.php:
<form action="{{ route('index.update', $task->id) }}" method="POST">
@csrf
@method('PUT')
<td><input type="text" name="content" value="{{ $task->content }}" id=""></td>
<td><input type="submit" value="Update"></td>
</form>
网页.php:
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TaskController;
Route::resource('index', TaskController::class);
任务控制器.php:
public function update(Request $request, Task $task)
{
$request->validate([
'content' => 'required',
]);
$task->update($request->all());
return redirect('index');
}
解决方案
正如@rwd 所说,问题出在路由定义上。将其更改为:
Route::resource('tasks', TaskController::class);
然后在表格中:
<form action="{{ route('tasks.update', $task->id) }}" method="POST">
推荐阅读
- css - Angular 反应式表单模板
- three.js - 使用 THREE.Raycaster - 我总是得到 id 8?
- python - 根据多个条件选择DataFrame
- node.js - 我正在运行一个简单的 Node.JS 服务器,它以 application/octet-stream 格式提供数据流
- python - 服务器和客户端不发送文件,我怎样才能让它工作?
- php - 从没有 xml 的纯文本中提取记录值
- r - 将单列变量转换为多列
- pandas - 如果 Pandas 数据框中没有,Multindex 添加零值
- wordpress - 首先按自定义分类对cpt进行排序,然后是帖子的其余部分
- c++ - *& vs & 将变量传递给函数