从一些背景信息开始,我有 3 个模型 - Course
, Pathway
, Module
.
Course
有很多有Pathway
Pathway
很多Module
Course
有很多Module
通过(通过Pathway
)
我已经设置了创建课程、途径和模块的路线。但是,当我尝试保存新创建的模型实例时,它调用了错误的路由方法——甚至没有命中store
相关控制器的方法
我知道路线的顺序很重要。我尝试改变它们,但它仍然无法按预期工作。
这是我到目前为止所拥有的:
// modules
Route::get('/courses/{course}/edit/pathways/{pathway}/modules/create', [App\Http\Controllers\ModulesController::class, 'create'])->name('createModule');
Route::post('/courses/{course}/edit/pathways/{pathway}/modules', [App\Http\Controllers\ModulesController::class, 'store'])->name('storeModule');
// Pathways
Route::get('/courses/{course}/edit/pathways/create', [App\Http\Controllers\PathwaysController::class, 'create'])->name('createPathway');
Route::get('/courses/{course}/pathways/{pathway}/edit', [App\Http\Controllers\PathwaysController::class, 'edit'])->name('editPathway');
Route::delete('/courses/{course}/pathways/{pathway}', [App\Http\Controllers\PathwayController::class, 'destroy'])->name('destroyPathway');
Route::post('/courses/{course}/edit/pathways', [App\Http\Controllers\PathwaysController::class, 'store'])->name('storePathway');
// VQs/Qualifications
Route::resource('courses', App\Http\Controllers\CourseController::class, [
'names' => [
'index' => 'allCourses',
'create' => 'createCourse',
'store' => 'storeCourse',
'show' => 'showCourse',
'edit' => 'editCourse',
'update' => 'updateCourse',
'destroy' => 'destroyCourse',
]
]);
问题是,当我尝试store
使用Pathway
orModule
时,它会到达Route::post('/courses/{course}')
路线。
我尝试改变路线的顺序,但都没有奏效。我还确保创建表单操作是正确的 Url Route。它仍然是一样的。
我也无法分辨正在调用哪个控制器方法。尝试做一个dd()
on CourseController@create
, PathwaysController@create
,ModulesController@create
但没有一个被击中。
任何有关为什么会发生这种情况的帮助将不胜感激