簡體   English   中英

Laravel 8:返回重定向()無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM