我看到有类似的问题,但没有找到任何关于我问题的线索。
我创建了一个基本用户系统,用于管理组,权限,用户等。创建,编辑,删除,索引等基本路由正在运行。
现在我尝试向UserController添加一个功能,以便在简单视图中管理用户组。
Route::group(array('prefix' => 'admin'), function()
{
Route::resource('groups', 'GroupController');
Route::resource('users', 'UserController');
});
控制器中的功能:
public function groups($id)
{
$user = Sentry::findUserByID($id);
$groups = $user->getGroups();
return View::make('users.show')
->with('groups', $groups);
}
和users / groups.blade.php:
@extends('layouts.admin')
@section('content')
<header id="page-title">
<h1>User Groups</h1>
</header>
<!-- if there are creation errors, they will show here -->
{{ HTML::ul($errors->all()) }}
{{ Form::open(array('url' => 'admin/users/save_groups')) }}
<div class="form-group">
</div>
{{ Form::submit('Create!', array('class' => 'btn btn-primary')) }}
{{ Form::button('Cancel', array('class' => 'btn btn-danger')) }}
{{ Form::close() }}
@stop
我转到网址“mysite/admin/users/2/groups
”,即时获取NotFoundHttpException
,我尝试了许多方法使其有效并且不知道发生了什么。
我认为它会像“mysite/admin/users/2/edit
”一样工作,但如果我测试show函数,它只是“mysite/admin/users/2
”,不需要show动作知道该函数,也许我错过了东西。
答案 0 :(得分:1)
您已为“GroupsController”声明了路线。根据{{3}},这将只处理表中定义的操作:“资源控制器处理的操作”
只需添加一个动作,Laravel就不会简单地扩展它。 您应该输入:
Route::get('users/{id}/groups', 'UserController@groups');