الأسهل ولكنه قد يكون محدودًا اعتمادًا على ما تريد القيام به.
ممكن التنفيذ ولكنه أكثر تعقيدًا. ألقِ نظرة على كيفية تنفيذ TopicQuery للقوائم
وبالتحديد
def list_hot
create_list(:hot, unordered: true, prioritize_pinned: true) do |topics|
topics = remove_muted(topics, user, options)
topics.joins("JOIN topic_hot_scores on topics.id = topic_hot_scores.topic_id").order(
"topic_hot_scores.score DESC",
)
end
end
يمكنك إضافة واحد إضافي بسهولة نسبية على الرغم من وجود العديد من الأجزاء المتحركة التي تحتاج إلى أخذها في الاعتبار. لقد فعلت ذلك في الإضافة الخاصة بي ‘homepage-filter’ وقد تكون نقطة انطلاق جيدة.