在某些情况下,我们正在对来自控制器的页面执行301重定向。 redirect_to product_show_path(updated_id)
,状态:: move_permanently。这些重定向正在运行,但我们希望在用户通过301重定向登陆页面时设置自定义元标记。有没有办法在全球范围内知道它在application.html.erb
文件中设置?
答案 0 :(得分:1)
使用query string parameters通过GET请求发送其他数据(301 Redirect始终是GET请求)。
redirect_to product_show_path(updated_id, redirected_from: URI.encode(request.original_url))
这会在params哈希中创建一个param,就像其他任何一样:
<%= if params[:redirected_from].present? %>
You where redirected from <%= URI.decode(params[:redirected_from]) %>
<% end %>
这与HTTP_REFERER
标题不同,适用于所有浏览器。