2016-08-27 5 views
0

Я обновляю свое приложение от laravel 5.2 до 5.3. Большинство вещей, похоже, работают нормально.Laravel 5.3 Маршрут в шаблоне с указанием маршрута Не определено

Но я не знаю, что происходит, но когда я пытаюсь определить маршрут в привязном теге, его не работает. Я сделал что-то похожее на это:

<a href="{{route('backend.pages.index')}}" class="nav-link "> 
    <span class="title">All Pages</span> 
</a> 

Показаны ошибки Route [backend.pages.index] not defined.. Вот как созданный маршрут.

Route::group(['middleware' => ['web']], function() { 
    Route::resource('backend/pages','Backend\PagesController'); 
}); 

У меня есть шаблон под названием «mainmenu.blade.php», в котором я использую этот маршрут. Это mainmenu называется в основной структуре через @include('layouts.backend.backendstructure.mainmenu').

Способ маршрутизации изменен в laravel 5.3? Или есть какая-то ошибка с моей стороны?

Спасибо (Advance)

+0

Do 'PHP мастеровых маршрут: list' и вставьте выходные здесь. – linuxartisan

+0

Да @linuxartisan Я получил свой ответ, указав маршруты. Я думаю, проблема была в том, что «бэкэнд» ему больше не нужен. – user3201500

ответ

1

Вы должны написать code как это:

<a href="{{ route('backend/pages')}} " class="nav-link "> 
    <span class="title">All Pages</span> 
</a> 

или как это:

<a href="{{ url('backend/pages') }}" class="nav-link "> 
    <span class="title">All Pages</span> 
</a> 
+0

Как насчет метода редактирования, когда нам нужно передать параметр? – user3201500

+0

И все, кажется, работает нормально, до Laravel версии 5.2 – user3201500

+0

Я попытался изменить, но все же, похоже, имеет ту же проблему. «Маршрут [backend/pages/index] not defined' или' Route [backend/pages] not defined' – user3201500

0

Try:

<a href="/backend/pages" class="nav-link "> 
    <span class="title">All Pages</span> 
    </a> 

https://laravel.com/docs/5.3/routing

+0

Уверен, что это сработает. Но я не уверен, что случилось с тем, что я помещаю в настоящее время? Потому что он должен работать нормально. Он отлично работал в версии 5.2 laravel. – user3201500

6

Проблема здесь

{{route('backend.pages.index')}}

использовать вместо

<a href="{{route('backend/pages')}}" class="nav-link "> 
    <span class="title">All Pages</span> 
</a> 

Маршрут определяется как backend/pages. Чтобы вернуть представление, добавьте метод в PagesController и верните его.

Route::group(['middleware' => ['web']], function() { 
    Route::resource('backend/pages','Backend\[email protected]'); 
}); 

пустышки метод

public function dummymethod 
{ 
    return view('backend.pages.index'); 
} 

Редактировать

Я думаю, что вы ищете что-то вроде этого

Route::resource('backend/pages','Backend\PagesController', ['names' => ['index' => 'backend.pages.index']]);

Проверьте документы here

+0

Я предполагаю, что вы объясняете, что все неправильно, я думаю. Я просто пытаюсь создать новый проект и попытаюсь выполнить то же, что и выше. 'Route :: get ('backend/pages', 'Backend \ PagesController @ dummymethod');' должно быть так? – user3201500

+1

Я думаю, что вы ищете что-то вроде этого «Route :: resource» («backend/pages», «Backend \ PagesController», ['names' => ['index' => 'backend.pages.index'] ]); ' – DroidNoob

+0

Да, этот метод работал. Но раньше мы этого никогда не делали! Это так странно! – user3201500

0

Вы можете попробовать ссылку с URL, чтобы понравиться, я использую в следующем порядке

<a href="{{URL::to('backend/pages')}}" class="nav-link "> 
    <span class="title">All Pages</span> 
    </a> 
Смежные вопросы