Ranking-Anzeige
ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina
controller Wenn Sie es mit einem Controller machen können, ist es fast möglich!
Durchschnittliches Ranking: App/controllers/users_controller.rb
def rank
@users = User.
find(Post.
group(:score).
order('avg(score) desc').
pluck(:user_id)
)
end
Gesamtrangliste: App/controllers/posts_controller.rb
def rank
@posts = Post.
find(Favorite.
group(:post_id).
order('count(post_id) desc').
pluck(:post_id)
)
end
view Kann wie unten gezeigt in absteigender Reihenfolge angezeigt werden
python
<% @users.each do |user| %>
<% end %>
<% @posts.each do |user| %>
<% end %>
Es ist in Ordnung, wenn Sie Kaminari.paginate_array () vorne und .page (params [: page]) am Ende hinzufügen.
python
@posts = Kaminari.paginate_array(Post.find(Favorite.group(:post_id).order('count(post_id) desc').pluck(:post_id))).page(params[:page])
[Einfache Rangfolge mit Rails] (https://qiita.com/mitsumitsu1128/items/18fa5e49a27e727f00b4) [Rails] Implementierung der Ranking-Funktion
Recommended Posts