[英]Laravel 8: return redirect() does not work properly
我正在使用 Laravel 8 創建一個論壇,基本上每當用戶在此論壇上提出問題時,都應該將其重定向到該問題。
而且我還想根據問題的slug
字段進行重定向過程。
所以為了做到這一點,我在postForm()
方法的末尾添加了這個:
return redirect('questions/{slug}');
這是查看問題的途徑:
Route::get('questions/{slug}', [QuestionController::class, 'showQuestion']);
然后我在 Controller 編碼:
public function showQuestion($slug)
{
$show = Question::find($slug);
if(is_null($show)){
abort(404);
}
return view('questions.question',[
'show' => $show
]);
}
但現在的問題是,當我嘗試添加新問題時,問題會成功添加,但會將我重定向到404
頁面。 並且 URL 重定向后也是這樣的:
http://localhost:8000/questions/%7Bslug%7D
如您所見,未正確添加問題塊!
那么這里出了什么問題? 如何通過每個問題的slug
正確地將用戶重定向到該路線?
如果你能幫我解決這個問題,我將不勝感激......
你需要改變:
return redirect('questions/{slug}');
至
return redirect('questions/' . $slug);
因為{parameter}
是路由的方法,而不是 controller
將字符串中的變量括起來,僅適用於雙引號。
你需要改變:
return redirect('questions/{slug}');
至:
return redirect("questions/{slug}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.