0

出于网络跟踪的目的,我想redirect_to在 Rails 中使用时保留 HTTP 引荐来源网址。这是重定向到相应语言版本所必需的。

代码示例:

redirect_to "/#{Option[:locales].first}", :status => 301

如何在不使用查询参数的情况下保留引荐来源网址?

4

1 回答 1

3

这个问题中详细介绍了几种方法。

store_referrer我首选的方法是在你的控制器中设置一个 before_filter ,它在我的application_controller. 然后redirect_back_or_default在您的操作中使用该方法来处理重定向。

def store_referrer
  session[:return_to] = request.request_uri
end

def redirect_back_or_default(default)
  redirect_to(session[:return_to] || default)
  session[:return_to] = nil
end

您还可以查看redirect_to :backRails 中可用的方法,或者如果您使用的是 Authlogic/Devise,它们都带有类似的帮助器来做同样的事情。

看看链接的线程,troex的这个建议是一个很好的建议。

于 2013-02-15T16:40:21.720 回答