ApplicationControllerに追加geocode_ip_address
したので、セッションからユーザーの場所情報を取得できます。
Geokitに対してチェックしたくないコントローラーがいくつかあります。それは本当にアプリケーションを遅くし、そこでジオチェックの必要はありません。
のように呼ばれているのでgeocode_ip_address
、before_filter
私は使用できませんskip_before_filter
何か案が?
ApplicationControllerに追加geocode_ip_address
したので、セッションからユーザーの場所情報を取得できます。
Geokitに対してチェックしたくないコントローラーがいくつかあります。それは本当にアプリケーションを遅くし、そこでジオチェックの必要はありません。
のように呼ばれているのでgeocode_ip_address
、before_filter
私は使用できませんskip_before_filter
何か案が?
実際にはstore_ip_locationフィルターを使用しているので、
skip_before_filter :store_ip_location
とはいえ、地理コードの結果は、サービス呼び出しを行う前にチェックされているCookie内に格納されるため、後続の呼び出しがパフォーマンスにそれほど影響を与えることはありません。
次のように、使用しているコントローラーに基づいてコードを選択的に呼び出さないようにすることができます。
unless ["controller1", "controller2", "etc"].member?(params[:controller])
geocode_ip_address
end
コードを実行したくないコントローラーの名前をリストに入れてください。そうすれば、それらのコントローラーでは呼び出されません。
次のようなコントローラーのリストである定数を作成することもできます。
CONTROLLERS_TO_NOT_FILTER_BY_GEOCODE = ["controller1", "controller2", "etc"]
unless CONTROLLERS_TO_NOT_FILTER_BY_GEOCODE.member?(params[:controller])
geocode_ip_address
end