1

私は自分のアプリケーションにmixpanelgemを使用しています。ミドルウェアとして機能し、アクションのヘッドにコードを動的に挿入します。特定のアクションに対してオフにできるようにしたいと思います(たとえば、電子メールを送信するアクションがあり、そこにコードを配置したくない場合など)。これを達成する方法についてのアイデアはありますか?

どうもありがとう。

4

3 に答える 3

1

mixpanelが宝石を更新したようです

ミドルウェアによるコードの挿入を防止する
注:Rackミドルウェアがセットアップされている場合にのみ適用されます。
場合によっては、ミドルウェアに変更させたくないHTMLのリクエストを送信する必要があります。AJAXリクエストには、ミックスパネルコードが挿入されないように、ヘッダー「SKIP_MIXPANEL_MIDDLEWARE」を含めます。

   $.ajax("/path/to/api/endpoint", {
     headers: {"Skip-Mixpanel-Middleware": true}, // valid http headers don't allow underscores and get filtered by some webservers
     success: function(data) {
       // Process data here
     }   }); 

    //Alternatively, you can add this line of code to your controller to temporarily disable the middleware:

    Mixpanel::Middleware.skip_this_request

取得元: https ://github.com/zevarito/mixpanel#prevent-middleware-from-inserting-code

于 2013-06-12T11:40:50.367 に答える
0

Mixpanelドキュメントから:

application_controllerクラスで、インスタンスmixpanelにメソッドを追加します。

before_filter :initialize_mixpanel

def initialize_mixpanel
  @mixpanel = Mixpanel::Tracker.new("YOUR_MIXPANEL_API_TOKEN", request.env, true)
end

これはによって初期化されるため、他のコントローラーでbefore_filter使用して、特定のアクション、または特定のアクションを除くすべてのアクションをスキップできます。例:skip_before_filter

class SomeController < ActionController::Base
  skip_before_filter :initialize_mixpanel, :only => [ :create, :new ]

  # or

  skip_before_filter :initialize_mixpanel, :except => [ :update ]

end
于 2012-03-05T17:51:25.153 に答える
0

これを行う方法を見つけることができず、事後に(gsubを使用して)それを取り除くことになりました。他の誰かが将来より良い解決策を持っているなら、私は間違いなくあなたを正しいとマークします、私はただ質問を閉じたいと思います。ありがとう

于 2012-06-23T11:26:47.517 に答える