2016-08-08 37 views
3

In Django, ich kann dies tun:mit Named-URL in Blade-Vorlage

<a href="{% url 'account_login' %}">Account Link</a> 

die mir domain/account/login geben würde, wo ich diese URL in meinem urls.py

url(r'^account/login/$', views.Login.as_view(), name='account_login'), 

Ich mag benannt haben etwas ähnliches in Laravel 5.2

ich zur Zeit so etwas wie diese:

Route::get('/survey/new', ['as' => 'new.survey', 'uses' => '[email protected]_survey']); 

Wie verwende ich in meiner Vorlage und übergebe Parameter?

Ich stieß auf diese: https://laravel.com/docs/5.1/helpers, aber es war nur ein Stück von einer weißen Seite ohne relevanten Inhalt, wie man es tatsächlich verwendet.

+0

'route ('new.survey');' –

Antwort

14

Sie können den route() Helfer verwenden, dokumentiert here.

<a href="{{ route('new.survey') }}">My Link</a> 

Wenn Sie laravelcollective/html umfassen könnten Sie link_to_route() verwenden. Dies war ursprünglich Teil des Kerns, aber entfernt in Laravel 5. Es here erklärt

{!! link_to_route('new.survey', 'My Link') !!} 

Die Laravel Collective haben die oben genannten Helfer here dokumentiert. Der Funktionsprototyp ist wie folgt

link_to_route($routeName, $title = null, $parameters = [], $attributes = []); 

Wenn Sie zum Beispiel wollte Parameter verwenden, ist es eine Reihe von Schlüssel-Wert-Paaren übernimmt die URI zu den genannten Bereichen in Ihrer Route entsprechen.

Zum Beispiel, wenn Sie eine Route hatte

Route::get('surveys/{id}', '[email protected]')->name('detail.survey'); 

Sie können einen Link zu dieser Route erzeugen, um die folgenden in den Parametern.

Ein vollständiges Beispiel, Echo-Markup, das einen Anker zur benannten Route enthält.

{!! link_to_route('new.survey', 'My Link', ['id' => $id]) !!} 
+0

Sie wissen, was Sie geschrieben haben, hilft nicht. Sie haben gerade genau das gepostet, was sich auf der Docs-Site befindet. Meine Frage ist, in meiner Vorlage mit einer URL wie folgt: '', um den Link für mich generiert zu bekommen. Alles, was du oben gepostet hast, macht das nicht, oder? – Rexford

+0

Sie haben nicht explizit gefragt, wie Sie Markup generieren können. und ohne Kenntnis von Django würde "URL" vorschlagen, dass Sie eine URL zu der Route generieren, nicht Markup. Ich werde meine Antwort bearbeiten. –

+0

Ich beendete die Frage mit den Worten: 'Wie verwende ich in meiner Vorlage, plus Parameter übergeben?' - Wie kann ich in der Vorlage verwenden, ohne dass es ein Markup generiert, außer das ist in Laravel möglich. – Rexford