2016-12-30 4 views
3

Bei der Vorschau der App, bekomme ich eine Route nicht definiert Fehler nach dem Laravel 5.3 Upgrade. Es funktionierte in Version 5.2.Upgrade auf Laravel 5.3 - Route nicht definiert Fehler

Route [admin.properties.index] not defined. (View: /home/ubuntu/workspace/resources/views/layouts/app.blade.php) (View: /home/ubuntu/workspace/resources/views/layouts/app.blade.php) 

Dieser Code ist von app.blade.php:

    <li>{{ link_to_route('admin.properties.index', 'Properties') }}</li> 

Meine web.php Datei wie diese weniger die zusätzlichen Routen und Kommentare aussieht:

<?php 

Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::auth(); 

Route::get('/welcome', '[email protected]'); 

Route::get('/home', '[email protected]'); 

Route::group(
    [ 
     'prefix' => 'admin', 
     'namespace' => 'admin', 
     'middleware' => 'admin' 
    ], 
    function() { 

      Route::resource('properties', 'PropertiesController'); 

    } 
); 

Dies ist die erste Teil des Eigenschaften-Controllers für die Indexansicht:

namespace App\Http\Controllers\admin; 

use Illuminate\Http\Request; 
use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use App\Property; 
use App\Http\Requests\PropertyRequest; 

class PropertiesController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index() 
    { 
     $properties = Property::paginate(15); 
     return view('admin.properties.index')->with('properties', $properties); 
    } 

Fehle ich eine Hilfsfunktion? Hat sich die Syntax in 5.3 von 5.2 im obigen Code geändert? Jede Hilfe von jemandem, der in Laravel 5.3 erfahren ist, wird sehr geschätzt.

+0

In Laravel 5.3 paar Dinge deprected. Werfen Sie einen Blick darauf [Leitfaden zum Upgrade von 5.2 auf 5.3] (https://laravel.com/docs/5.3/upgrade#5.2-deprecations) –

Antwort

2

Die Syntax änderte sich jedoch nicht, die Routenbenennung wurde zwischen Laravel 5.2 und Laravel 5.3 geändert.

Dies verursachte ein Problem für mich auch. An issue was raised eine Weile zurück, aber anscheinend ist diese Änderung absichtlich.

Lange Rede, kurzer Sinn, Laravel 5.3 hängt nicht mehr . nach der Gruppe Präfix bei der Erstellung der Route Name.

Sie können den aktuellen Routennamen in 5.3 ermitteln, indem Sie php artisan route:list ausführen und Ihre Referenzen entsprechend aktualisieren.

Wenn Sie die 5.2 Route Namensgebung nacheifern wollen, müssen Sie zu zwicken müssen die as Eigenschaft für Ihre Route Gruppe die Hinter . aufzunehmen.

Zum Beispiel:

Route::group([ 
    'as' => 'admin.', 
    'prefix' => 'admin', 
    'namespace' => 'admin', 
    'middleware' => 'admin' 
], // ... 
+0

Ein großes Dankeschön. Ich bin so glücklich, dass das funktioniert hat. In der app.blade.php habe ich einfach den "admin" entfernt, und die route: list hat mir sehr geholfen. :) – user2502479

Verwandte Themen