2016-07-13 3 views
0

Так что я просто создал маршрут ресурсов следующим образом:Laravel ресурс маршрут не генерирует именованные маршруты

Route::group(['prefix' => 'control-panel'], function() { 
    Route::resource('changelog', 'admin\ChangelogController'); 
}); 

Но когда я пытаюсь использовать любой названный маршрут лезвия он говорит, что маршрут не выходит. Обратите внимание, что у меня есть маршрут сгруппированных префиксов.

{{ route('changelog.create') }} 

Я действительно предпочитаю не писать все маршруты отдельно, как я сделал сейчас, для быстрого исправления. Я использую Laravel 5.2.

+1

вы создали действие контроллера еще? – ClearBoth

+0

После того, как контроллер существует, не является причиной ошибки, что маршрут не существует. Он покажет, что контроллер/метод не существует. Но да, это так. Контроллер был сделан с помощью команды php artisan make: controller. Когда я пишу сам URL и добавляю именованный маршрут, он работает. – killstreet

ответ

1

Вы используете префикс маршрута, чтобы имя маршрута также имело этот префикс. Это должно работать:

{{ route('control-panel.changelog.create') }} 

вы можете переопределить эти имена, передавая массив имен с вашими параметрами:

Route::group(['prefix' => 'control-panel'], function() { 

    Route::resource('changelog', 'admin\ChangelogController', ['names' => [ 
     'create' => 'changelog.create' 
    ]]); 

}); 
+0

Я проверю это, как только вернусь домой, но теперь кажется, что вы упомянули об этом. Хотя мне интересно, может быть какой-то способ переписать это тоже? И все еще сможете просто использовать changelog.create, если на то пошло? – killstreet

+0

hmm .. вы можете увидеть обновленный ответ. Тем не менее, я думаю, что это слишком много кодирования для не большой выгоды. Вы могли бы просто добавить каждый маршрут самостоятельно, а не использовать ресурсы. – ClearBoth

+0

Это сработало, но, как вы сказали, это может быть слишком много, чтобы кодировать результат. Все еще думая, что я буду использовать, но большое спасибо за этот ответ! – killstreet