laravel-5.7 - 使用 laravel 5.7 的路线编辑、显示和删除不起作用
问题描述
尝试获取这些页面时,我没有找到所有页面。
web.php
看起来像这样
Route::resource('admin/roles', 'RoleController');
route:list
看起来像这样
| GET|HEAD | admin/roles | index | App\Http\Controllers\RoleController@index
| GET|HEAD | admin/roles/create | create | App\Http\Controllers\RoleController@create
| PUT|PATCH | admin/roles/{} | update | App\Http\Controllers\RoleController@update
| GET|HEAD | admin/roles/{} | show | App\Http\Controllers\RoleController@show
| DELETE | admin/roles/{} | destroy | App\Http\Controllers\RoleController@destroy
| GET|HEAD | admin/roles/{}/edit | edit | App\Http\Controllers\RoleController@edit
控制器看起来像这样
public function show($id)
{
$role = Role::find($id);
return view('admin.roles/show')->with('role',$role);
}
public function edit($id)
{
$role = Role::find($id);
return view('admin.roles.edit')->with('role',$role);
}
解决方案
您应该尝试将浏览器导航到admin/roles/1
而不是admin/roles/show/1
. 您尝试的路线不存在,因此您正确收到 404 错误。
由于创建和索引页面工作正常,但没有显示,我认为路由绑定有问题。
由于route:list
命令 show中的路线admin/roles/{}
,这让我觉得 laravel 无法弄清楚绑定。
我对此的最佳猜测是检查 http 内核。您应该在数组中或数组下的组中拥有\Illuminate\Routing\Middleware\SubstituteBindings::class
中间件。我建议把它放在中间件组中。$middleware
web
$middlewareGroups
web
例如:
protected $middlewareGroups = [
//
'web' => [
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
//
];
另一个建议:
尝试单独定义路线而不是使用Route::resource()
Route::get('admin/roles', 'RoleController@index');
Route::get('admin/roles/create', 'RoleController@create');
Route::patch('admin/roles/{role}', 'RoleController@update');
Route::get('admin/roles/{role}', 'RoleController@show');
Route::delete('admin/roles/{role}', 'RoleController@delete');
Route::get('admin/roles/{role}/edit', 'RoleController@edit');
请注意,您可能需要添加->name('some-name')
以修复名称
推荐阅读
- python - PyInstaller 创建 GTK3 可执行文件:gi/_gi-cpython-38.dll 无法提取
- c - 如何使该用户可以使用 scanf 输入整数或字符
- azure - Azure 逻辑应用触发器未触发
- google-cloud-platform - 如何在谷歌云平台 (GCP) 中跨服务 (API)、资源类型和项目列出、查找或搜索 iam 策略?
- javascript - 异步函数返回正确的值,但链接时该值未定义
- php - Square orders create via API on website don't show on dashboard
- python - pytorch 模型总结——forward func 有多个参数
- python - 如何修复 python 代码中的语法错误?
- python - /admin/auth/user/ 处的 SQLDecodeError
- python - 在 Python 中使用 Keras 进行图像增强