Laravel web.php неправильно перенаправляет. - PullRequest
0 голосов
/ 09 октября 2018

Ниже мой контент 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.Как это исправить?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

в вашем 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');
0 голосов
/ 09 октября 2018

Попробуйте указать маршрут create перед маршрутом show в web.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...