ПРИМЕЧАНИЕ: ЭТОТ ОТВЕТ СЕЙЧАС УСТАРЕЛ НА ДАТУ 15 ОКТЯБРЯ 2012 ГОДА, КАК СПОСОБ ИНИЦИАЛИЗАЦИИ НЕ ДОЛЖЕН ПРИНЯТЬ ПАРАМЕТР ENV
Пример https://github.com/zevarito/mixpanel Mixpanel::Tracker.new
вызывается следующим образом:
Mixpanel::Tracker.new("YOUR_MIXPANEL_API_TOKEN", request.env, true)
В контексте контроллера request.env
- это хеш.
В вашем коде над передачей message_id
в качестве второго аргумента, который выглядиткак целое числоИзвините, больше ничего не могу поделать, не знаю ничего о геме mixpanel, но это корень вашей проблемы.
Если в документации по mixpanel API вы указали целое число в качестве второго параметраэто неверно.Вот код, относящийся к вашей ошибке: https://github.com/zevarito/mixpanel/blob/master/lib/mixpanel/tracker.rb
module Mixpanel
class Tracker
def initialize(token, env, async = false)
@token = token
@env = env
@async = async
clear_queue
end
# snip
def clear_queue
@env["mixpanel_events"] = []
end
# snip
end
end
Передача целого числа в качестве второго аргумента инициализатору не будет работать, поскольку класс Fixnum
не имеет хеш-присваивания ([]=
) метод, который является именно тем сообщением об ошибке, которое вы получаете.
Если в документации сказано, что это может быть целое число, вам, вероятно, следует сообщить о проблеме в mixpanel.