【88日目】【1日20分のRailsチュートリアル】【第8章】2つの目立たないバグの原因を理解する
今日は「8.4.4 2つの目立たないバグ」から。
8.4.4 2つの目立たないバグ
実は小さなバグが2つ残っています。2つのバグは互いに強く関連しています。
へ~。まとめるとこんな感じらしい。
(1)同じサイトに複数のウィンドウ(もしくはタブ)でログインしており、片方のウィンドウでログアウト→もう片方のウィンドウでログアウトしたときにエラー発生
(2)同じサイトに複数のブラウザ(ChromeとFirefoxなど)でログインしており、片方のブラウザでログアウト(①)→もう片方のブラウザでログアウトせずにブラウザ終了(②)→再度同じページを開く(③)とエラー発生
(1)はなんとなく分かった。
(2)がなんだか分かりにくいけど、
①でログアウトしたときにUserモデルのデータベースに保存してある記憶トークン(remember_token)が削除される
↓
②でブラウザ終了したときに一時セッションに保存していたuserが削除される
↓
③でページ開いたときにcurrent_userを取りに行って、ログアウトしてないブラウザのcookiesは残っているので
Userモデルのデータベースに記憶トークンを取りに行くけど①で削除されているので例外が発生する
ってことらしい。ふむふむ。
バグの理解に時間がかかったので今日はここまで。
今日の作業時間は【30分】。
次は「8.4.4 2つの目立たないバグ」のテストを書くところから。