【发布时间】:2022-01-05 18:03:45
【问题描述】:
我有路由问题,我似乎无法解决。
首先: 这是我的“languages.blade.php”中动态创建的按钮
<a href="edit-keywords/{{ $language->language_code }}" class="btn btn-success btn-sm"><i class="fa fa-language"></i> Edit Keywords</a>
这是我的“web.php”中的路由线
Route::get('/admin/edit-keywords/{code}', [App\Http\Controllers\Admin\LanguageController::class, 'edit_keywords'])->name('admin.edit-keywords');
Route::post('/admin/edit-keywords', [App\Http\Controllers\Admin\LanguageController::class, 'save_keywords'])->name('admin.save_keywords');
这是我的“LanguageController.php”中的公共函数
public function edit_keywords($code){
$language['view'] = Languages::getLanguage($code);
$keyword['view'] = Languages::getKeyword($code);
$data = array('language' => $language, 'keyword' => $keyword);
return view('admin.edit-keywords')->with($data);
}
这是我的语言模型中的 2 个函数
public static function getLanguage($code){
$value=DB::table('languages')->where('language_code', '=', $code)->first();
return $value;
}
public static function getKeyword($code){
$value=DB::table('keywords')->where('language_code', $code)->orderBy('keyword_id', 'asc')->get();
return $value;
}
当我点击按钮时,它会将我带到链接:http://localhost/admin/edit-keywords/LV,所以路由没问题。
但我每次都收到这个错误,而且对于每种语言:
照亮\路由\异常\UrlGenerationException
缺少 [Route: admin.edit-keywords] [URI:admin/edit-keywords/{code}] 的必需参数
[缺少参数:代码]。 (查看:C:\xampp\htdocs\resources\views\admin\edit-keywords.blade.php)
http://localhost/admin/edit-keywords/LV
编辑:
它在这里工作:
Route::get('/admin/edit-language/{language_code}', [App\Http\Controllers\Admin\LanguageController::class, 'edit_language'])->name('admin.edit-language');
Route::post('/admin/edit-language', [App\Http\Controllers\Admin\LanguageController::class, 'update_language'])->name('admin.edit-language');
【问题讨论】:
-
edit-keywords.blade.php中有动态的urls吗?喜欢:<a href="edit-keywords/{{ $language->language_code }}" class... -
是的,例如:
编辑 {{ $language['view']->language_name }} 语言
-
@mare96
-
您的 URL 缺少某处参数
{code}。不适用于输入或动态文本。只需检查网址 -
另外,请检查您的表单方法和提交表单的路线。