RoRでYou are being redirectedと出る

■現象

タイトル通りRuby on Railsで"You are being redirected"という画面が表示されるけど、実際には待ってもリダイレクトされないで、そのページのリンクをクリックしないと次のページに遷移しない。

You are being redirectedで検索するとRoRの特定のバージョンでそういうバグがあったらしいけど、自分の場合は違う。

■そもそも何の画面?

あまり詳しくは調べてないけど、redirect_toを使うと、HTTPレスポンスのヘッダで301だか302が返されると共に、ボディに前述の内容が含まれてクライアントに返されるらしい。

何らかの理由で、上手くリダイレクトがされない場合に、上の内容が表示される。

■自分のケースの原因

本番環境ではページのキャッシュが有効になってる。

ログインが必要なページにアクセスした時にログインページにリダイレクト(redirect_to)されて、そのリダイレクト処理自体は成功したんだけど、その際のHTTPの返答がキャッシュされて、ログインしている時にそのページにアクセスしてもリダイレクトの時の内容が表示される。

■対処

キャッシュを無効にする、キャッシュの設定を変更するなど。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です