0

redirect_toWebトラッキングの目的で、 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

Railsで利用できる方法を確認することもできredirect_to :backます。または、Authlogic / Deviseを使用している場合は、どちらにも同じことを行うための同様のヘルパーが付属しています。

リンクされたスレッドを見てください。troexによるこの提案は良いものです。

于 2013-02-15T16:40:21.720 に答える