2016-10-07 30 views
0

我使用Ahoy与Mongoid商店。任何意见非常感谢!rails回调没有触发ahoy事件跟踪

我的问题是,为了提高效率,每次创建一个新的ahoy事件时,我都想更新该元素计数,以便我可以执行诸如通过浏览量进行排序等操作。我的计划是在每次生成事件时使用类似after_create的mongoid回调来更新计数器。像这样:

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。必须将我的ID转换成mongodb才能表现愉快。