2016-05-13 3 views
0

In meiner Laravel 5.2 CRUD App befindet sich das Navigationsmenü in einem eigenen Layout, das jede Kindansicht erbt.Navigationsmenü in der Laravel-Kindansicht, die HTTP-Routen dynamisch einstellt

Für eine der untergeordneten Ansichten (create.blade.php), die über ihren RESTful Resource Controller erreicht wird, wird jedoch jede Verknüpfung im Navigationsmenü geändert.

z. Der HOME Link sagt mywebsite.dev/home wenn ich auf der Homepage bin und die mywebsite.dev/books Seite.

Allerdings, wenn ich zu mywebsite.dev/books/create bekam, alle Navigationselemente haben jetzt mywebsite.com/books/ vor ihnen. So z.B. Wenn Sie auf der Seite "Neues Buch erstellen" auf die Seite "Info" klicken, wird die Adresse mywebsite.dev/books/about anstelle von mywebsite.dev/books angezeigt. Komischerweise nur der Link zur Seite Bücher korrekt ist, und sagt mywebsite.dev/books

In meiner Navigation, die HOME, Bücher und ÜBER Seiten werden als href aufgelistet = „/“ href = „/ Bücher“ und href = "/ über"

Irgendwelche Ideen, warum es so ist?

EDIT: Mein BooksController:

public function index() 
{ 
    // get all the books 
    $books = Book::all(); 

    // load the view and pass the books 
    return View::make('books.index')->with('books',$books); 
} 

/** 
* Show the form for creating a new resource. 
* 
* @return \Illuminate\Http\Response 
*/ 
public function create() 
{ 
    return View::make('books.create'); 
} 

Hier ist die routes.php:

Route::auth(); 
Route::get('/', '[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 
Route::get('/home', '[email protected]'); 
Route::resource('books','BookController'); 
+0

poste deine aktuelle 'routes.php' – ssuhat

Antwort

1

Sie sollen die url() Helfer in Ihren Ansichten verwenden. So versichert es Ihnen, dass Sie eine absolute Verbindung erhalten.

<a href="{{ url('/about') }}">About</a> 
<a href="{{ url('/books') }}">Books</a> 
<a href="{{ url('/') }}">Home</a> 
Verwandte Themen