2016-01-13 3 views
0

У меня есть несколько названных маршрутов, используя параметр as. Кажется, работает отлично в 5.1, но когда я использую тот же пакет в 5.2 он выдает ошибку:Именованные маршруты, не работающие в Laravel 5.2?

ErrorException in UrlGenerator.php line 307: 
Route [/blog] not defined. (View: ...) 

Я очищено все кэши безрезультатно.

php artisan cache:clear 
php artisan view:clear 
php artisan route:clear 
php artisan config:clear 

сбросили:

composer dump-autoload 

Но до сих пор не работает. Когда я делаю php artisan route:list, кажется, хорошо для меня:

+--------+----------+------------------+------------+----------------------------------------------------------------+------------+ 
| Domain | Method | URI    | Name  | Action               | Middleware | 
+--------+----------+------------------+------------+----------------------------------------------------------------+------------+ 
|  | GET|HEAD | blog    | blog  | ...               |   | 
|  | GET|HEAD | blog/feed  | feed  | ...               |   | 

EDIT: Чтобы прояснить одну вещь. При попытке создания маршрута я определенно использую route('blog'). Он также отлично работает в Laravel 5.1. Не говоря уже о том, что со всеми названными маршрутами не только blog в конкретном примере, который я представил.

ответ

1

Ваше сообщение об ошибке сообщает, что вы пытаетесь получить доступ к маршруту с именем «/ blog», однако ваш маршрут называется «блог» (без косой черты). Где-то у вас есть код route('/blog'), и это вызывает вашу ошибку; это должно быть route('blog').

+0

Я определенно использую 'route ('blog')' И он отлично работает в Laravel 5.1. Не говоря уже о том, что со всеми названными маршрутами не просто «блог». – Rob

+0

На самом деле вы правы, я искал не то место @patricus, thx. – Rob

0

У меня такая же проблема с Laravel 5.2. У меня есть 3 простых маршрута.

Route::get('/', function() { 
    if (!empty(Auth::user())) { 
     return view('auth.zipline'); 
    } else { 
     return view('no_auth.login'); 
    } 
}); 

Route::get('/login', function() { 
    return view('no_auth.login'); 
}); 

Route::get('/pricing', function() { 
    return view('no_auth.pricing'); 
}); 

Представлено представление no_auth.login (Текст, который гласит 'Login'). Представлен вид no_auth.pricing (текст, который гласит «Ценообразование»)

The/route works. Я получаю окно входа в систему.

Ни один из других маршрутов не работает. Переход прямо к/login или/price дает мне 404 ошибки. mod_rewrite включен на сервере, и я использую файл Laravel 5.2 .htaccess по умолчанию.

PHP ремесленник маршрут: список выглядит (обратите внимание на отсутствующие ведущие косых черты):

+--------+----------+---------+------+---------+------------+ 
| Domain | Method | URI  | Name | Action | Middleware | 
+--------+----------+---------+------+---------+------------+ 
|  | GET|HEAD |/  |  | Closure |   | 
|  | GET|HEAD | login |  | Closure |   | 
|  | GET|HEAD | pricing |  | Closure |   | 
+--------+----------+---------+------+---------+------------+ 

Маршрутов файл, безусловно, имеют ведущий слэш для/логина и/ценообразования. Я бежал php artisan route: clear

Смежные вопросы