我在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
指向路线会产生错误。
我需要做些什么才能让它发挥作用?
答案 0 :(得分:2)
您需要使用用户密钥提供路由,因为laravel生成的路由名称将类似于user/{user}/lesson/{lesson}
{{ Form::open(array('route' => array('user.lesson.store', $user->getKey()))); }}