在 Laravel 中正确路由到具有前缀的分组路由
Route to grouped routes with prefix correctly in Laravel
我有一组带有前缀的路由。
在我的网络路由中,带有 admin 前缀的路由转到单独的路由文件:
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin'], function () {
includeRouteFiles(__DIR__ . '/Admin/');
});
所以我必须在我的路线中添加 admin
作为前缀。在我的 Admin
目录中,我将路由定义如下:
Route::prefix('organization/{organization}')->group(function () {
Route::post('seed', 'SeedController@store')->name('seed');
});
我的问题是路由到该组内的路由。我使用命令 php artisan route:list
来查看有关我的路线的更多信息。它说:
- 我的路线名称是:
admin.seed
- 我的 URI 是:
admin/organization/{organization}/seed
当我在表单中 link 作为 admin.seed
到这条路线时,我收到以下错误:
Missing required parameters for [Route: admin.seed] [URI:
admin/organization/{organization}/seed]. (View:
D:\xampp\htdocs\minute-mn-503\resources\views\admin\organizations\show.blade.php)
我试过 link 将其设置为:
admin.seed
admin/seed/1
admin/organization/1/seed
admin/organization/1.seed
但其中 none 似乎有效。这是例如代码行:
<form method="POST" action="{{ route('admin/organization/'.$organization->id.'.seed') }}">
知道如何正确路由这些吗?我在 Laravel 文档中找不到任何明确的解释。
您必须使用这个:
<form method="POST" action="{{ url('admin/organization/' . $organization->id .'/seed') }}">
或:
<form method="POST" action="{{ route('admin.seed', $organization->id) }}">
我有一组带有前缀的路由。
在我的网络路由中,带有 admin 前缀的路由转到单独的路由文件:
Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin'], function () {
includeRouteFiles(__DIR__ . '/Admin/');
});
所以我必须在我的路线中添加 admin
作为前缀。在我的 Admin
目录中,我将路由定义如下:
Route::prefix('organization/{organization}')->group(function () {
Route::post('seed', 'SeedController@store')->name('seed');
});
我的问题是路由到该组内的路由。我使用命令 php artisan route:list
来查看有关我的路线的更多信息。它说:
- 我的路线名称是:
admin.seed
- 我的 URI 是:
admin/organization/{organization}/seed
当我在表单中 link 作为 admin.seed
到这条路线时,我收到以下错误:
Missing required parameters for [Route: admin.seed] [URI: admin/organization/{organization}/seed]. (View: D:\xampp\htdocs\minute-mn-503\resources\views\admin\organizations\show.blade.php)
我试过 link 将其设置为:
admin.seed
admin/seed/1
admin/organization/1/seed
admin/organization/1.seed
但其中 none 似乎有效。这是例如代码行:
<form method="POST" action="{{ route('admin/organization/'.$organization->id.'.seed') }}">
知道如何正确路由这些吗?我在 Laravel 文档中找不到任何明确的解释。
您必须使用这个:
<form method="POST" action="{{ url('admin/organization/' . $organization->id .'/seed') }}">
或:
<form method="POST" action="{{ route('admin.seed', $organization->id) }}">