2017-04-25 8 views
1

私はLeaderboard gemを使ってRailsでleaderboardアプリケーションを開発しています。私はPostgresにデータを保存しており、Redisでの使用には同じものを使用しています。現在、出力IAM取得は、ハッシュの配列である:Rails Redis Leaderboard

[{:member=>"Elinor", :rank=>1, :score=>993.0}, {:member=>"Glennie", :rank=>2, :score=>986.0}, {:member=>"Dudley", :rank=>3, :score=>982.0}, {:member=>"Aashish", :rank=>4, :score=>900.0}, {:member=>"Daron", :rank=>5, :score=>899.0}, {:member=>"Telly", :rank=>6, :score=>878.0}, {:member=>"Lois", :rank=>7, :score=>828.0}, {:member=>"Aaron", :rank=>8, :score=>825.0}, {:member=>"Rosa", :rank=>9, :score=>819.0}, {:member=>"Gaylord", :rank=>10, :score=>795.0}, {:member=>"Enrico", :rank=>11, :score=>790.0}, {:member=>"Fabiola", :rank=>12, :score=>788.0}, {:member=>"Orville", :rank=>13, :score=>778.0}, {:member=>"Christiana", :rank=>14, :score=>768.0}, {:member=>"Whitney", :rank=>15, :score=>753.0}, {:member=>"Lera", :rank=>16, :score=>750.0}, {:member=>"Manuel", :rank=>17, :score=>749.0}, {:member=>"Eli", :rank=>18, :score=>737.0}, {:member=>"Keshawn", :rank=>19, :score=>722.0}, {:member=>"Bernadine", :rank=>20, :score=>718.0}, {:member=>"Aliza", :rank=>21, :score=>675.0}, {:member=>"Hermann", :rank=>22, :score=>622.0}, {:member=>"Reina", :rank=>23, :score=>606.0}, {:member=>"Emmy", :rank=>24, :score=>552.0}, {:member=>"John", :rank=>25, :score=>541.0}, {:member=>"Mohamed", :rank=>26, :score=>538.0}, {:member=>"Summer", :rank=>27, :score=>523.0}, {:member=>"Brooks", :rank=>28, :score=>521.0}, {:member=>"Lorenz", :rank=>29, :score=>476.0}, {:member=>"Pink", :rank=>30, :score=>431.0}, {:member=>"Frances", :rank=>31, :score=>401.0}, {:member=>"Ervin", :rank=>32, :score=>387.0}, {:member=>"Rubye", :rank=>33, :score=>374.0}, {:member=>"Neoma", :rank=>34, :score=>350.0}, {:member=>"Jaunita", :rank=>35, :score=>348.0}, {:member=>"Jessie", :rank=>36, :score=>315.0}, {:member=>"Joyce", :rank=>37, :score=>298.0}, {:member=>"Samantha", :rank=>38, :score=>290.0}, {:member=>"Jackson", :rank=>39, :score=>266.0}, {:member=>"Spencer", :rank=>40, :score=>257.0}, {:member=>"Adrianna", :rank=>41, :score=>254.0}, {:member=>"Myrtice", :rank=>42, :score=>238.0}, {:member=>"Hannah", :rank=>43, :score=>236.0}, {:member=>"Carrie", :rank=>44, :score=>233.0}, {:member=>"Marlee", :rank=>45, :score=>218.0}, {:member=>"Nyasia", :rank=>46, :score=>207.0}, {:member=>"Jennie", :rank=>47, :score=>201.0}, {:member=>"Kristy", :rank=>48, :score=>185.0}, {:member=>"Kristofer", :rank=>49, :score=>149.0}, {:member=>"Gonzalo", :rank=>50, :score=>131.0}, {:member=>"Lacey", :rank=>51, :score=>128.0}, {:member=>"member_10", :rank=>52, :score=>10.0}, {:member=>"member_9", :rank=>53, :score=>9.0}, {:member=>"member_8", :rank=>54, :score=>8.0}, {:member=>"member_7", :rank=>55, :score=>7.0}, {:member=>"member_6", :rank=>56, :score=>6.0}, {:member=>"member_5", :rank=>57, :score=>5.0}, {:member=>"member_4", :rank=>58, :score=>4.0}, {:member=>"member_3", :rank=>59, :score=>3.0}, {:member=>"84849296", :rank=>60, :score=>3.0}, {:member=>"member_2", :rank=>61, :score=>2.0}, {:member=>"84849294", :rank=>62, :score=>2.0}, {:member=>"member_1", :rank=>63, :score=>1.0}, {:member=>"84849297", :rank=>64, :score=>1.0}, {:member=>"84849295", :rank=>65, :score=>1.0}, {:member=>"84849293", :rank=>66, :score=>1.0}, {:member=>"84849292", :rank=>67, :score=>1.0}] 

私はJSONへとドキュメントごとに、それを変換しようとしたが、まだ応答が変換されません。

コントローラマイショー方法は以下である:

def show 
    setredis 
    @users = User.all 
    @users.each do|f| 
    name = f.name 
    score = f.score 
    @highscore_lb.rank_member(name, score).to_json 
end 

setredis方法

def setredis 
    redis_options = {:host => '127.0.0.1', :port => 6379, :db => 1} 
@highscore_lb = Leaderboard.new('highscores', Leaderboard::DEFAULT_OPTIONS, redis_options) 

end 

私はまだデータが解析されていない、並びに各ループを使用してみました。どんな助けもありがとう。 おかげ

答えて

1

この

index.html.erbを試してみてください

<% @highscore_lb.members_from_rank_range(1, 100).each_with_index do |c, i| %> 
<tbody> 
<tr> 
    <td><%= c[:member] %></td> 
    <td><%= c[:score] %></td> 
    <td><%= c[:rank] %></td> 
</tr>  
<% end %> 

users_controller

def show 
setredis 
@users = User.all 
@users.each do|f| 
name = f.name 
score = f.score 
@highscore_lb.rank_member(name, score) 
end 
関連する問題