2016-08-04 5 views
0

Ich versuche, eine Route Ressource in einer Route Gruppe zu erstellen:Routen Ressource in der Routengruppe mit Präfix in 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'); 
}); 

Aber jetzt bekomme ich wie diese Routen: template.template.index, template.template.create usw.

Und wenn ich die Namen wie diese vonRoute::resource('template', 'TemplateController');zuRoute::resource('/', 'TemplateController');, die Route aussehen: template..index, template..create usw.

Ich habe eine Lösung, aber dann muss ich eine andere Routengruppe ohne Präfix erstellen.

(TL; DR;) Ich habe mich gefragt, wie man die Routenressource in einer Routengruppe mit Präfix arbeiten lässt und den korrekten Routennamen hat (template.index, template.create, etc.).

+0

Nur überprüfen - Hat meine Antwort überhaupt geholfen oder haben Sie Ihr Problem selbst behoben? –

+0

Ich habe meine alte Lösung benutzt. Danke für die Hilfe! –

Antwort

0

Sie können as verwenden, um den Routennamen zu definieren. Sie können auch in Gruppen verwenden:

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

Ich nehme an, Sie Laravel verwenden 5.1+ da Sie Gruppe Präfixe verwenden. Mehr erfahren Sie in dem Streckenabschnitt von Laravel zu lesen:

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

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

nicht sicher, wie Sie es in Ihrem Fall tun sollen (meine beste Vermutung wäre, die as leer in der Gruppe zu verlassen) Also musst du herumspielen. Aber das Prinzip sollte das gleiche sein.

(Meine beste Vermutung):

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

Wenn die Gruppe der Benennung nicht in Ihrem Fall nicht funktioniert, können Sie die as für jede Route festgelegt haben.

Verwandte Themen