确定您的操作是直接请求还是重定向到?

时间:2019-05-29 08:09:50

标签: ruby-on-rails redirect ruby-on-rails-5 url-redirection http-referer

说我在上

example.com/foo

我单击一个转到root_path的按钮,通常是:

example.com/

在接收到请求的控制器操作中,确定应将用户重定向到:

example.com/bar

在接收到该请求的控制器操作中,我现在想知道是否通过root_path重定向了用户,所以我签出了request.referer。但是我发现引荐来源网址不是example.com/,而是example.com/foo

我已经检查了request对象,但是似乎没有跟踪到重定向请求的路径。那是正确的,还是有话可说?

这是日志:

Started GET "/" for 127.0.0.1 at 2019-05-29 09:40:37 +0200
Processing by HomeController#index as HTML
  Parameters: {}
Redirected to https://example.com/bar
Completed 302 Found in 21ms

Started GET "/bar" for 127.0.0.1 at 2019-05-29 09:40:37 +0200
Processing by BarController#index as HTML
  Parameters: {}
Completed 200 OK in 285ms (Views: 274.1ms)

我意识到我可以在重定向时添加一个参数,但是在此之前,我想确保会话中没有这些信息。

1 个答案:

答案 0 :(得分:0)

例如,您可以使用flash设置一些自定义属性,例如:redirected_from

redirect_to '/foo', flash: { redirected_from: request.path }

稍后您可以阅读example.com/bar控制器操作