リダイレクト後表示内容が変わらない

ご覧いただきありがとうございます。
困っているため、是非アドバイスをお願い致します。

実現したいこと

レコード一覧画面で、
コントロールで、削除→リダイレクトの後、
削除したレコードがそのまま表示されてしまっています。

リロードすると、そのレコードが削除されていることが確認できました。
(また、DBでもレコードが削除されていることが確認できました。)

リダイレクトしているのに、レコードがそのまま表示されてしまう原因はなんなのか
ご教授いただきたいです。

※ちなみにですが、フラッシュメッセージは「削除しました」と表示されています。

該当のソースコード

web.php

1Route::resource('/MyPage', MyPageController::class)->middleware(['auth', 'verified']);

MyPageController

12 // 削除処理→リダイレクト処理 3 public function destroy($id) 4 { 5 try { 6 MypageInfo::where('id', $id)->delete(); 7 8 return to_route('MyPage.index') 9 ->with([ 10 'message' => 'レコードを削除しました。' 11 ]); 12 13 } catch(\Exception $e) { 14 // TODO 15 } 16 } 17 18 // redirect 後のページを表示するために呼び出されるメソッド 19 public static function index() 20 { 21 \Log::debug('index'); 22 try { 23 $user = User::select('id', 'name')->where('id', Auth::id())->get(); 24 $rec = Auth::user()->myPageInfos; 25 26 // レコードがあれば Show ページ 27 if(count($rec) != 0) { 28 $path = 'MyPage/ShowMyPage'; 29 // レコードがなければ Create ページ 30 } else { 31 $path = 'MyPage/CreateMyPage'; 32 } 33 \Log::debug($rec); // 削除された後のレコードが表示されていた。 34 35 return Inertia::render($path, [ 36 'user' => $user, 37 'rec' => $rec 38 ]); 39 } catch(\Exception $e) { 40 // TODO: catch処理 41 } 42 } 43

削除処理の起動画面・リダイレクトの画面

Show.vue

1let props = defineProps(['user', 'rec']) 2 3<Record v-show="activeNum == 5" :rec="props.rec" :myId="props.user[0].id" :authUser="$page.props.auth.user.id"></Record>

※Show.vue の中にあるコンポーネント
ここの内容が

Record.vue

1let props = defineProps(['rec', 'myId', 'authUser']) 2 3<table v-for="rec in recs" :key="rec.id" class="mb-3 table-auto w-full text-left whitespace-no-wrap"> 4 ... 5</table> 6 7

補足情報(FW/ツールのバージョンなど)

Laravel10 / Vue3 / Inertia1.0 / Ziggy を使用しています。

コメントを投稿

0 コメント