2016-10-07 7 views
0

Я использую Ahoy с магазином Mongoid. Любые советы очень ценятся!рельсы обратные вызовы не срабатывают при отслеживании событий ahoy

Моя проблема заключается в том, что для эффективности каждый раз, когда создается новое событие ahoy, я хочу обновить эти элементы, чтобы я мог делать такие вещи, как сортировка по просмотрам страниц. Мой план состоял в том, чтобы использовать mongoid callback, например after_create, для обновления счетчика каждый раз, когда генерируется событие. что-то вроде:

class Ahoy::Event 

    after_create :update_pageviews 

    def update_pageviews 
    case self.name 
    when 'Viewed post' 
     p = Monologue::Post.find(properties[:post]) 
     p.pageviews = p.pageviews + 1 
     p.save 
    end 
    end 

Однако обратный вызов никогда не срабатывает.

  1. Есть ли лучший способ справиться с этим? Вытягивание счета вживую слишком медленное для меня, поэтому мне нужно его где-то хранить.
  2. Почему не срабатывает обратный вызов?

ответ

0

Обновление для всех, кто сталкивается с этим. Проблема связана с использованием Ahoy бинарного типа BSON :: Binary вместо того, что (в настоящее время используется Mongoid) BSON :: ObjectId. Придется конвертировать мои идентификаторы для mongodb, чтобы вести себя счастливо.