0

Mongoid ストアで Ahoy を使用しています。どんなアドバイスでも大歓迎です!

私の問題は、効率のために、新しい ahoy イベントが作成されるたびに、その要素の数を更新して、ページビューによる並べ替えなどを実行できるようにすることです。私の計画は、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. コールバックが起動しないのはなぜですか?
4

1 に答える 1

0

これに遭遇した他の人のために更新してください。この問題は、(Mongoid が現在使用しているもの) BSON::ObjectId ではなく、Ahoy が BSON::Binary 型を使用したことに関係していました。mongodb が快適に動作するように ID を変換する必要がありました。

于 2016-10-08T02:01:27.793 に答える