2016-08-04 2 views
0

Я пытаюсь создать ресурс маршрута в группе маршрутов:Route ресурсов в группе маршрутов с префиксом в Laravel 5

Route::group(['middleware' => ['web', 'auth'], 'prefix' => 'template'], function() { 
    Route::resource('template', 'TemplateController'); 

    Route::get('{template}/assign', 'blabla'); 
    Route::post('{template}/assign', 'blabla'); 

    Route::get('{template}/clone', 'blabla'); 
    Route::get('{template}/customizer', 'blabla'); 
}); 

Но теперь я получаю маршруты, как это: template.template.index, template.template.create и т.д.

И когда я изменить название отRoute::resource('template', 'TemplateController');вRoute::resource('/', 'TemplateController');, маршрут выглядит следующим образом: template..index, template..create и т.д.

У меня есть решение, но тогда мне нужно создать еще одну группу маршрутов без префикса.

(TL; DR;) Мне было интересно, как настроить ресурс маршрута в группе маршрутов с префиксом и иметь правильное имя маршрута (template.index, template.create и т. Д.).

+0

Просто проверка. Помогла ли моя помощь вообще или вы сами исправили проблему? –

+0

Я использовал свое старое решение. Спасибо за помощь, хотя! –

ответ

0

Чтобы определить название маршрута, вы можете использовать as. Вы можете также использовать его в группах:

Route::group(['as' => 'admin::'], function() { 
    Route::get('dashboard', ['as' => 'dashboard', function() { 
     // Route named "admin::dashboard" 
    }]); 
}); 

Я предполагаю, что вы используете Laravel 5.1 +, видя, как вы используете групповые префиксы. Вы можете прочитать в разделе маршрута Laravel:

https://laravel.com/docs/5.1/routing#named-routes

https://laravel.com/docs/5.2/routing#named-routes

Не знаю, как вы должны это сделать в вашем случае (моя догадка была бы покинуть as пустым в группе) , так что вам придется поиграть. Но принцип должен быть одним и тем же.

(Мое предположение):

Route::group(['middleware' => ['web', 'auth'], 'prefix' => 'template', 'as' => ''], function() { 
    // stuff 
}); 

Если назвать группу не работает в вашем случае, вы, возможно, придется установить as для каждого маршрута.

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