在创建表单内部,如何路由到嵌套资源? '路线' => ' user.lesson.store'不起作用

时间:2014-04-26 16:40:43

标签: php laravel laravel-4

我在routes.php

中创建了一个嵌套资源
Route::resource('user', 'UserController');
Route::resource('user.lesson', 'LessonController');
Route::resource('user.lesson.hotspot', 'HotspotController');

我已将所有用户资源操作绑定到用户控制器。我已经转到课程,我正在尝试创建一个表单来创建新课程。

{{ Form::open(array('route' => 'user.lesson.store')); }}
    {{ Form::label('title', 'Title of lesson'); }}
    {{ Form::text('title'); }}
    {{ Form::label('description', 'Description of lesson'); }}
    {{ Form::textarea('description'); }}
    {{ Form::submit('Create New Lesson'); }}
{{ Form::close(); }}

但是,这会产生.../user/%7Buser%7D/lesson的动作。在lesson.store指向路线会产生错误。

我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

您需要使用用户密钥提供路由,因为laravel生成的路由名称将类似于user/{user}/lesson/{lesson}

{{ Form::open(array('route' => array('user.lesson.store', $user->getKey()))); }}