Railsのredirect_to 〇〇_url , status: :okにしたら動かないという誰得情報の共有

TL;DR

redirectのステータスは3で始まるコード、だから:ok # 200 だとリダイレクトしない!

HTTPのリダイレクトの原理が以下のページに示されています。

developer.mozilla.org

リダイレクトレスポンスはステータスコードが 3 で始まり、 Location ヘッダーがリダイレクト先の URL を保持しています。

以下にRailsのredirect_toのstatusで使用できるシンボルと対応するコードと説明が示されています。

railsdoc.com

備考

201だとredirect_to動きました、 3で始まるコード限定でredirect_to動いているわけではなさそうです。。:bow:

redirect_to, status: で明示的に指定しなかったらdefaultで302 :found が使用されるっぽいです

github.com

参考文献、注意喚起

ocws.jp

ocws.jp

srad.jp

301でユーザーに永久キャッシュさせちまった後の対応方法 knmts.com