2
1

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 3 years have passed since last update.

Railsで遷移元のURLを取得する

Last updated at Posted at 2021-09-30

はじめに

開発ですぐに忘れそうなことを、簡単に再度調べられるようにするための備忘録です。

やりたいこと

元々いたページのパスをコントローラー側で受け取る。

具体例)
Blogのshow画面から、Contactのnew/createを呼び出して、
Blogのshow画面にリダイレクト。

方法

before_url = request.referer

を用いる。

ちなみに、遷移後の現在のURLを取得したい場合は、

## pathの取得
current_url = request.path

## urlの取得
current_url = request.url

のどちらかを用いる。
(pathの取得で良いのか、urlが必要なのかは、用途に応じて使い分ける。)

補足

request.refererを用いた時のrequest specでは、
HTTPヘッダを明記する必要があるため、


let(:headers) { { HTTP_REFERER: xxx_url } }

it "リクエストが成功する" do
  post xxx_url, params: params, headers: headers
  expect(response.status).to eq 302
end

のような形で、書くと良い。

2
1
0

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?