가장 쉽지만, 무엇을 하려는지에 따라 제한적일 수 있습니다.
가능하지만 더 복잡합니다. 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
고려해야 할 이동 부품(moving parts)이 꽤 많지만, 추가하는 것은 비교적 쉽습니다. 제 ‘homepage-filter’ 플러그인에서 그렇게 했으며, 이는 좋은 출발점이 될 수 있습니다.