2016-08-08 13 views
2

Ich habe eine Ressourcensteuerung in einer Gruppe wie Route so platziert:Resource Controller rotue Namen innerhalb einer Route Gruppe in Laravel

Route::group(['as' => 'admin.', 'prefix' => 'admin'], function() { 
    Route::get('/', ['as' => 'index']); 

    Route::patch('categories/{id}', ['uses' => '[email protected]', 'as' => 'categories.restore']); 
    Route::resource('categories', 'controller'); 
}); 

Die erste Route ist admin/ mit Routennamen admin.index wie erwartet.
Die "zusätzliche" Ressourcenroute ist admin/categories/{id} mit dem Routennamen admin.categories.restore.
Aber die seltsamen Dinge passieren, wenn wir die Route Namen für den Ressourcen-Controller überprüfen.
Die Routen sind wie erwartet, Ed. admin/categories/{categories} aber die Routennamen sind al mit dem Präfix admin.admin.

Ich weiß, ich kann das Problem beheben, indem Sie die as in der Routengruppe entfernt wird und die Routennamen für die anderen Ressourcen innerhalb der Gruppe mit Ausnahme der Ressourcensteuerung prefixing, aber ich würde Ich suche einen Weg, wie ich das beheben kann, ohne meine Routengruppe zu bearbeiten.

Das hinzugefügte Bild ist (Teil) meine Strecke route list

Antwort

0

This kommentieren die Laravel listet GitHub perfekt das Problem beschreibt.
was passiert:
Pre , alle Ressourcencontroller in einer Route Gruppe für eine as Erklärung zunächst aussehen würden, dann für ein prefix und beide ihre Namen zu definieren, verwenden würden, zum Beispiel as.prefix.resource.

This Problem zeigt die Klarstellung und Änderungen in Laravel 5.3, um dieses Verhalten zu verhindern. In der aktuellen Form:

URL-Präfixe wirken sich nicht mehr auf die Routennamen aus, die Routes bei Verwendung von Route :: resource zugewiesen wurden, da dieses Verhalten den gesamten Verwendungszweck von Routennamen nicht erfüllt.

Verwandte Themen