Affichage du classement
ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina
controller Si vous pouvez le faire avec un contrôleur, vous pouvez le faire!
Classement moyen: application/controllers/users_controller.rb
def rank
@users = User.
find(Post.
group(:score).
order('avg(score) desc').
pluck(:user_id)
)
end
<détails>
Classement total: application/controllers/posts_controller.rb
def rank
@posts = Post.
find(Favorite.
group(:post_id).
order('count(post_id) desc').
pluck(:post_id)
)
end
<détails>
view Peut être affiché dans l'ordre décroissant de chacun comme indiqué ci-dessous
python
<% @users.each do |user| %>
<% end %>
<% @posts.each do |user| %>
<% end %>
Si vous ajoutez Kaminari.paginate_array () devant et .page (params [: page]) à la fin, c'est OK.
python
@posts = Kaminari.paginate_array(Post.find(Favorite.group(:post_id).order('count(post_id) desc').pluck(:post_id))).page(params[:page])
[Fonction de classement facile avec Rails] (https://qiita.com/mitsumitsu1128/items/18fa5e49a27e727f00b4) [Rails] Implémentation de la fonction de classement
Recommended Posts