5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsのredirect_toの引数には_pathでなく_urlを使う

Last updated at Posted at 2019-03-25

概要

RailsガイドやRailsのリファレンスにて、明言はされてないものの redirect_to の引数としては _path でなく _url が利用されています。

ですが、なぜ _path でなく _url を利用しているのか、これらのドキュメント内では充分な説明がなされてません(見逃してるかもですが)。

調べたところ、以下の記事で解説がされていました。

「RailsによるアジャイルWebアプリケーション開発 第4版のp.120、David曰く」で解説されてます。

HTTPの302リダイレクトの仕様上、絶対パスを使うのが妥当

ふむふむなるほど、ということで RFC を読もうとしましたが断念したため、RFCを解説している記事を探しました。

HTTP1.1のLocationヘッダは、絶対URLでないとRFC違反

なるほどですね。

追記

コメントで補足いただきました
thx! @znz

実際はほとんどのブラウザーでサポートされていたので RFC 7231 で緩和されて相対 URL でも OK になっています。
https://en.wikipedia.org/wiki/HTTP_location

5
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?