仅在生产Rails环境中调用Mixpanel API

Dav*_*e G 3 environment ruby-on-rails

我目前正在使用 mixpanel 和默认的“mixpanel”gem进行分析,并在我的控制器中设置了一些调用。我希望这些调用仅在生产环境中运行。最好的方法是为每次调用执行以下操作:

@mixpanel.track_event("Job Accepted", {:user=> current_user.id}) if RAILS_ENV == 'production'
Run Code Online (Sandbox Code Playgroud)

看起来有点矫枉过正,但我​​正在努力想出更好的解决方案。任何帮助都会很棒!

Ros*_*oss 5

老问题,但这是我的方法。将 Mixpanel 的默认使用者(发送到他们的 API)替换为在测试中更有用的东西。在我们的例子中,我们只需注销即可。这是在像 mixpanel.rb 这样的初始化程序中。

if Rails.env.production?
  MIXPANEL = Mixpanel::Tracker.new(ENV['MIXPANEL_TOKEN'])
else
  MIXPANEL = Mixpanel::Tracker.new(ENV['MIXPANEL_TOKEN']) do |type, message|
     Rails.logger.debug("Mixpanel Request: #{type}, #{message}")
  end
end
Run Code Online (Sandbox Code Playgroud)