2016-10-07 32 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才能表現愉快。