下面是我的web.php内容
Route::get('/myRoutes', function () {return view('myRoutes.routeIndex');})->middleware('auth');
Route::get('/myRoutes/{route}', 'routes@show')->middleware('auth');
Route::get('/myRoutes/create', 'routes@create');
下面是我的资源控制器(route.php)
<?php
namespace App\Http\Controllers;
use App\route;
use Illuminate\Http\Request;
class routes extends Controller
{
public function create()
{
return view('myRoutes.routeCreate');
}
public function show(route $route)
{
return view('myRoutes.routeShow', compact('route'));
}
?>
现在,如果我访问mydomain.com/myRoutes,它会为我提供可用的路由列表。(按预期运行)
如果我访问mydomain.com/myRoutes/1,它会给我ID = 1(按预期工作)的记录
现在的问题是,如果我访问mydomain.com/myRoutes/create,它将返回一个404错误,该页面未找到。如果我在web.php中注释掉以下行
Route::get('/myRoutes/{route}', 'routes@show')->middleware('auth');
然后,mydomain.com/myRoutes/create会按预期工作。我认为laravel在/ myRoutes / {id}和/ myRoutes / create之间感到困惑。该如何解决?
答案 0 :(得分:1)
在您的web.php
中,在演出路线之前添加创建路线。
Route::get('/myRoutes', function () {return view('myRoutes.routeIndex');})->middleware('auth');
Route::get('/myRoutes/create', 'routes@create');
Route::get('/myRoutes/{route}', 'routes@show')->middleware('auth');
答案 1 :(得分:0)
尝试将create
路线放在show
中的web.php
路线之前