在刀片模板

时间:2016-08-08 20:29:34

标签: laravel-5 laravel-routing

在Django中,我可以这样做:

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

这会给我domain/account/login我在urls.py

中命名的网址
url(r'^account/login/$', views.Login.as_view(), name='account_login'),

我想在Laravel 5.2中做类似的事情

我目前有这样的事情:

Route::get('/survey/new', ['as' => 'new.survey', 'uses' => 'SurveyController@new_survey']);

如何在我的模板中使用,以及传递参数?

我遇到了这个:https://laravel.com/docs/5.1/helpers,但它只是一个白页,没有关于如何实际使用它的相关内容。

1 个答案:

答案 0 :(得分:30)

您可以使用route()帮助,记录here

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

如果您加laravelcollective/html,则可以使用link_to_route()。这最初是核心的一部分,但在Laravel 5中删除了。它解释了here

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

Laravel Collective记录了上述帮助者here。函数原型如下

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

例如,如果您想使用参数,它会接受一组键值对,这些键值对应于路径URI中的命名段。

例如,如果您有路线

Route::get('surveys/{id}', 'SurveyController@details')->name('detail.survey');

您可以使用参数中的以下内容生成指向此路线的链接。

['id' => $id]

一个完整的示例,回显包含指向路径的锚点的标记。

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