現在、次のようないいねの数を追跡するカウンターキャッシュを使用してレコードを注文しています。
Post.order("COALESCE(likes_count, 0) DESC").limit(10)
アイテムのソートに使用されるキャッシュなどに時間制限を組み込む方法はありますか? たとえば、過去 24 時間以内に作成されたいいね! のみが含まれます。
いいねは次のように処理されます。
like.rb
belongs_to :liker, class_name: "User"
belongs_to :liked, class_name: "Post", :counter_cache => :likes_count
validates :liker_id, presence: true
validates :liked_id, presence: true
user.rb
has_many :likes, foreign_key: "liker_id", dependent: :destroy
has_many :liked_posts, through: :likes, source: :liked
post.rb
has_many :likes, foreign_key: "liked_id", dependent: :destroy
has_many :liker_users, through: :likes, source: :liker
答えてくれてありがとう。大変感謝しています。