redirect_to
Webトラッキングの目的で、 Railsで使用するときにHTTPリファラーを保持したいと思います。これは、それぞれの言語バージョンにリダイレクトするために必要です。
コード例:
redirect_to "/#{Option[:locales].first}", :status => 301
クエリパラメータを使用せずにリファラーを保持するにはどうすればよいですか?
redirect_to
Webトラッキングの目的で、 Railsで使用するときにHTTPリファラーを保持したいと思います。これは、それぞれの言語バージョンにリダイレクトするために必要です。
コード例:
redirect_to "/#{Option[:locales].first}", :status => 301
クエリパラメータを使用せずにリファラーを保持するにはどうすればよいですか?
この質問で詳しく説明されている方法はいくつかあります。
私が好む方法は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を使用している場合は、どちらにも同じことを行うための同様のヘルパーが付属しています。