0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[rails]個別ゲームスコアランキングを表示させる方法

Posted at

実装内容

今回は個別で優秀なスコアを表彰するページの作成です

  • 毎回ゲームをして点数のつくゲームを想定しています。
  • 同点でも同順位として紹介されるしようとなっています。

テーブル内容

game_dateテーブル

id user_name score create_at
1 たろう 150 2021-02-12
2 ひろゆき 3 2021-02-13
3 ひろゆき 24 2021-02-14
4 はなこ 220 2021-02-15
以上の様な体系でデータが格納されていることを想定しています。
rankings.controller
class RankingsController < ApplicationController
  def index
    @game_date = game_date.includes(:user).order(score: :desc)
    #scoreが大きい順にgame_dateを取り出せるようにしておく
  end
end
index.html.erb
  <% ranking = [] %> #ranking.length+1を順位として使用する
  <% @game_data.each do |game| %>
        <div class="ribbon">
          <h2><%= ranking.length + 1%>位:: <%= game.score %>点</h2>
        </div>
    <% ranking << turtle.score %>
  <% end %>

今回ranking =[]に各スコアを収納しその個数+1でランキングを計算する方法を紹介しました。
はもう少しかんたんにスコアランキングが作れるお知恵をお持ちの方がおられればアドバイスいただけると嬉しいです

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?