Route :: resource的附加PUT / PATCH路由

时间:2018-05-31 12:57:51

标签: laravel

我为用户提供了标准资源路径:

Route::resource('users', 'UserController');

然而,我想为已提交的表单添加额外的路由,以绑定现有用户的角色/权限。

UserController

public function updateRolesPermissions(Request $request){
        dd($request->all());
    }

show.blade.php

我试过这两个:

{!! Form::model($user, ['route' => ['users.updateRolesPermissions', $user->id], 'method' => 'patch']) !!}

和此:

{!! Form::open(['action' => 'UserController@updateRolesPermissions']) !!}

在不打开新的单独路线的情况下,将其他路线添加到资源路线的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

最佳方式是添加另一条路线。

Route::patch('users/{user_id}/roles_permissions', 'UserController@ updateRolesPermissions');
Route::resource('users', 'UserController');

这是它应该做的方式,所以对于新鲜或新的项目来说,这是最清楚的。试图过于聪明,将会很难在以后找到并维护。

使用路径模型绑定时,其行为应与其他路径相同。