首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户路由协议Laravel 5.4

用户路由协议Laravel 5.4
EN

Stack Overflow用户
提问于 2017-04-15 13:59:27
回答 2查看 373关注 0票数 0

我希望我的用户访问它的个人资料编辑页面的网址:/profile/slug/edit,其中段塞的意思是$user->slug。我的web.php轮廓:

代码语言:javascript
复制
Route::group(['middleware' => 'auth'], function () {
Route::get('/profile/{slug}', [
'uses' => 'ProfilesController@index',
'as' => 'profile'
]);
Route::get('/profile/{slug}/edit', [
'uses' => 'ProfilesController@edit',
'as' => 'profile.edit'
]);

如何从视图调用ProfilesController@edit,如何正确传递参数?试过:

代码语言:javascript
复制
<a href="{{route('profile', ['slug'=> Auth::user()->slug],'edit')}}">
Edit your profile</a>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-16 10:56:26

这是我怎么做的..。

代码语言:javascript
复制
Route::group(['middleware' => 'auth'], function () {
    Route::get('/profile/{slug}', 'ProfilesController@index')->name('profile');
    Route::get('/profile/{slug}/edit', 'ProfilesController@edit')->name('profile.edit');
});

在你看来,你可以用..。

代码语言:javascript
复制
<a href="{{ route('profile.edit', Auth::user()->slug) }}">Edit your profile</a>

如您所见,首先我们必须给route()我们感兴趣的路由名称,在您的例子中,目标路由是profile.edit,我们从路由文件中知道它缺少段塞值,所以我们提供它作为第二个参数(如果有更多的缺失值,第二个参数应该是一个数组)。

这需要一些实践和时间,但是尝试不同的方法来看看是什么使您的代码更加可读性。对于计算机来说,行数没有多大关系,写代码,这样你就可以轻松地阅读和理解它,如果你想在一到两年后改变它。

票数 1
EN

Stack Overflow用户

发布于 2017-04-16 11:21:53

您可以使用以下代码线

代码语言:javascript
复制
<a href="{{ route('profile.edit', ['slug' => Auth::user()->slug]) }}"> Edit your profile</a>

您的路线定义似乎很好。

另外,如果要添加一些get params,可以直接在作为第二个参数传递的数组中添加。

代码语言:javascript
复制
<a href="{{ route('profile.edit', ['slug' => Auth::user()->slug, 'otherparam' => 'value']) }}"> Edit your profile</a>

希望这能有所帮助。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43426942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档