目前,我正在订购带有计数器缓存的记录,以跟踪他们拥有的喜欢的数量,例如:
Post.order("COALESCE(likes_count, 0) DESC").limit(10)
有没有办法对用于对项目进行排序的缓存之类的时间限制?例如,仅包括在过去 24 小时内创建的喜欢。
喜欢以这种方式处理:
喜欢.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
用户.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
非常感谢任何答案。非常感谢。