新路线Laravel 4的NotFoundHttpException

时间:2014-02-02 23:27:15

标签: php laravel-4

我看到有类似的问题,但没有找到任何关于我问题的线索。

我创建了一个基本用户系统,用于管理组,权限,用户等。创建,编辑,删除,索引等基本路由正在运行。

现在我尝试向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动作知道该函数,也许我错过了东西。

1 个答案:

答案 0 :(得分:1)

您已为“GroupsController”声明了路线。根据{{​​3}},这将只处理表中定义的操作:“资源控制器处理的操作”

只需添加一个动作,Laravel就不会简单地扩展它。 您应该输入:

Route::get('users/{id}/groups', 'UserController@groups');