私はpublic_activity gemを使用しています。public_activityアクションの一意レコードをレールでカウントする方法は?
@num = PublicActivity::Activity.where(owner_id: current_user.id, key: "micropost.read").count
これは、current_userがすべてのマイクロポストで正しく読み取られた回数を示します。しかし、current_userが同じマイクロポストの倍数で読み取った場合、その数もカウントされます。しかし私はそれを望んでいません。 current_userが同じマイクロポストを複数回読み取った場合、1回だけカウントされたいと思います。
私はそれがすべてのエラーメッセージを表示しませんでしたが、それはうまくいきませんでした
@num = PublicActivity::Activity.where(owner_id: current_user.id, key: "micropost.read").distinct.count
を試してみました。
私はそれが動作しませんでした
@num = PublicActivity::Activity.distinct.where(owner_id: current_user.id, key: "micropost.read").count
を試してみました。
これを行うための正しい構文は何ですか?前もって感謝します!
ルビー2.3.1、同じ使用trackable_idを照会してみ5.0.0.1
使用していると(:OWNER_ID => ....)、あなたは常にそのユーザのすべてのカウントを取得しますが... – Milind
あなたがnum.include @使用することができます(CURRENT_USER @)をチェックすると? @ num.firstを使って最初のレコードを表示するだけです。助けて欲しいです。 – Milind
はい、私はすでにcurrent_userによってすべてのカウントを取得しています。しかし、私はcurrent_userによって区別カウントを取得したいと思います。 current_userはマイクロポストを複数回読むかもしれませんが、複数の読み込みの代わりに1つの読み込みとして数えたいと思います。ありがとう! – Denny